{"log": null, "root": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy", "tests": [{"call": {"outcome": "passed", "duration": 0.0008942420000153106}, "setup": {"outcome": "passed", "duration": 0.003989775000007967}, "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.00022217299999738316}}, {"call": {"outcome": "passed", "duration": 0.00042308600001206287}, "setup": {"outcome": "passed", "duration": 0.00037779199999476987}, "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.00019287799997869115}}, {"call": {"outcome": "passed", "duration": 0.00039870100002303843}, "setup": {"outcome": "passed", "duration": 0.00035166300000355477}, "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.00019740700000170364}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005800319999991643, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033326999999871987}, "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.00024688900001024194}}, {"call": {"outcome": "passed", "duration": 0.006210016000011365}, "setup": {"outcome": "passed", "duration": 0.0003725629999848934}, "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.00020663399999421017}}, {"call": {"outcome": "passed", "duration": 0.004476616000005151}, "setup": {"outcome": "passed", "duration": 0.00041021299998078575}, "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.0002641009999990729}}, {"call": {"outcome": "passed", "duration": 0.0007060519999981807}, "setup": {"outcome": "passed", "duration": 0.007416253000002371}, "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.00018654699999842705}}, {"call": {"outcome": "passed", "duration": 0.0005537689999925988}, "setup": {"outcome": "passed", "duration": 0.0003574039999989509}, "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.00017380299999558702}}, {"call": {"outcome": "passed", "duration": 0.00036825500001214095}, "setup": {"outcome": "passed", "duration": 0.00032629699998665274}, "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.00016939500000034968}}, {"call": {"outcome": "passed", "duration": 0.07248355199999423}, "setup": {"outcome": "passed", "duration": 0.0003483369999912611}, "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.00023803299998803595}}, {"call": {"outcome": "passed", "duration": 0.0002695610000102988}, "setup": {"outcome": "passed", "duration": 0.00040893999999980224}, "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.0001970759999778693}}, {"call": {"outcome": "passed", "duration": 0.004056530000013936}, "setup": {"outcome": "passed", "duration": 0.00031997499999647516}, "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.00025365100000840357}}, {"call": {"outcome": "passed", "duration": 0.0012834659999896303}, "setup": {"outcome": "passed", "duration": 0.0004159220000019559}, "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.00017800099999476515}}, {"call": {"outcome": "passed", "duration": 0.00033899000001724744}, "setup": {"outcome": "passed", "duration": 0.00032404200001678873}, "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.00017503600000168262}}, {"call": {"outcome": "passed", "duration": 0.0002749409999864838}, "setup": {"outcome": "passed", "duration": 0.00031744100002129017}, "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.00017454400000360693}}, {"call": {"outcome": "passed", "duration": 0.0010239030000036564}, "setup": {"outcome": "passed", "duration": 0.0003382690000250932}, "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.00017751000001453576}}, {"call": {"outcome": "passed", "duration": 0.008099183000013}, "setup": {"outcome": "passed", "duration": 0.0009268129999782104}, "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.00019042399998170367}}, {"call": {"outcome": "passed", "duration": 0.0007007420000206821}, "setup": {"outcome": "passed", "duration": 0.0003552700000000186}, "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.0001776300000244646}}, {"call": {"outcome": "passed", "duration": 0.0006619299999783834}, "setup": {"outcome": "passed", "duration": 0.00032822999997961233}, "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.00017776100000332917}}, {"call": {"outcome": "passed", "duration": 0.0006285390000186908}, "setup": {"outcome": "passed", "duration": 0.00032285000000342734}, "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.00017463399998973728}}, {"call": {"outcome": "passed", "duration": 0.0006340480000233129}, "setup": {"outcome": "passed", "duration": 0.0003422159999786345}, "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.0001749259999996866}}, {"call": {"outcome": "passed", "duration": 0.0006290190000015627}, "setup": {"outcome": "passed", "duration": 0.000353176000004396}, "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.00017661900000121022}}, {"call": {"outcome": "passed", "duration": 0.000741589000000431}, "setup": {"outcome": "passed", "duration": 0.0003487580000012258}, "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.00018106599998191086}}, {"call": {"outcome": "passed", "duration": 0.0006229480000001786}, "setup": {"outcome": "passed", "duration": 0.00035781500000098276}, "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.00017677900001444868}}, {"call": {"outcome": "passed", "duration": 0.0006107149999934336}, "setup": {"outcome": "passed", "duration": 0.00034293699999921046}, "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.00017648799999392395}}, {"call": {"outcome": "passed", "duration": 0.0006235890000141353}, "setup": {"outcome": "passed", "duration": 0.00033297900000661684}, "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.00020293699998319426}}, {"call": {"outcome": "passed", "duration": 0.0018129890000011528}, "setup": {"outcome": "passed", "duration": 0.00033086499999512853}, "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.0001844530000028044}}, {"call": {"outcome": "passed", "duration": 0.0017405639999878986}, "setup": {"outcome": "passed", "duration": 0.00033400099999880695}, "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.00018218900001443217}}, {"call": {"outcome": "passed", "duration": 0.0034792559999914374}, "setup": {"outcome": "passed", "duration": 0.0003329989999940608}, "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.00020085299999550443}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.040740577000008216, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/unittest/mock.py\", line 1378, in patched\n    return func(*newargs, **newkeywargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003314960000011524}, "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.00018772900000385562}}, {"call": {"outcome": "passed", "duration": 0.0013938699999869186}, "setup": {"outcome": "passed", "duration": 0.0004024979999996958}, "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.0003129220000062105}}, {"call": {"outcome": "passed", "duration": 0.00026219699998364376}, "setup": {"outcome": "passed", "duration": 0.0005900259999975788}, "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.00018462299999555398}}, {"call": {"outcome": "passed", "duration": 0.00023774199999593293}, "setup": {"outcome": "passed", "duration": 0.0003194530000030227}, "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.00017915300000481693}}, {"call": {"outcome": "passed", "duration": 0.001005098000007365}, "setup": {"outcome": "passed", "duration": 0.00032112699997810523}, "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.00018101599999909013}}, {"call": {"outcome": "passed", "duration": 0.000897948999977416}, "setup": {"outcome": "passed", "duration": 0.000318481000022075}, "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.00020459000000982996}}, {"call": {"outcome": "passed", "duration": 0.0022707800000034695}, "setup": {"outcome": "passed", "duration": 0.00032395199997381496}, "lineno": 230, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_waveforms_bulk", "outcome": "passed", "keywords": ["test_get_waveforms_bulk", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017873300001269854}}, {"call": {"outcome": "passed", "duration": 0.0011549459999855571}, "setup": {"outcome": "passed", "duration": 0.000340813000008211}, "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.00019434099999671162}}, {"call": {"outcome": "passed", "duration": 0.001172299000018029}, "setup": {"outcome": "passed", "duration": 0.0003339900000014495}, "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.00022518800000170813}}, {"call": {"outcome": "passed", "duration": 0.0005181829999969523}, "setup": {"outcome": "passed", "duration": 0.0006105640000271251}, "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.00017086799999788127}}, {"call": {"outcome": "passed", "duration": 0.0002461779999975988}, "setup": {"outcome": "passed", "duration": 0.000326176000015721}, "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.0001692939999884402}}, {"call": {"outcome": "passed", "duration": 0.0014016350000076727}, "setup": {"outcome": "passed", "duration": 0.00031986400000505455}, "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.0001753760000156035}}, {"call": {"outcome": "passed", "duration": 0.0011499469999876055}, "setup": {"outcome": "passed", "duration": 0.0003276889999881405}, "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.00017535599999973783}}, {"call": {"outcome": "passed", "duration": 0.0006112659999928383}, "setup": {"outcome": "passed", "duration": 0.0003411840000069333}, "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.00019160600001555395}}, {"call": {"outcome": "passed", "duration": 0.0012359670000137157}, "setup": {"outcome": "passed", "duration": 0.0003184820000114996}, "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.00017340200000148798}}, {"call": {"outcome": "passed", "duration": 0.001621362999998155}, "setup": {"outcome": "passed", "duration": 0.00034391900001651265}, "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.00017638799999986077}}, {"call": {"outcome": "passed", "duration": 0.0003142140000136351}, "setup": {"outcome": "passed", "duration": 0.0003561720000107016}, "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.00018653700001891593}}, {"call": {"outcome": "passed", "duration": 0.0010042770000211476}, "setup": {"outcome": "passed", "duration": 0.00032067600000118546}, "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.00021440800000505078}}, {"call": {"outcome": "passed", "duration": 0.00025906099997996535}, "setup": {"outcome": "passed", "duration": 0.00044682099999704405}, "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.00020504099998674974}}, {"call": {"outcome": "passed", "duration": 0.0002670270000066921}, "setup": {"outcome": "passed", "duration": 0.0002962510000088514}, "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.00016508699999917553}}, {"call": {"outcome": "passed", "duration": 0.00024055800000155614}, "setup": {"outcome": "passed", "duration": 0.0003142140000136351}, "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.00016727100000935025}}, {"call": {"outcome": "passed", "duration": 0.0002808730000083415}, "setup": {"outcome": "passed", "duration": 0.0002947080000126334}, "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.00016814200000681012}}, {"call": {"outcome": "passed", "duration": 0.00023316300001852142}, "setup": {"outcome": "passed", "duration": 0.00031064800000990545}, "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.00016805199999225806}}, {"call": {"outcome": "passed", "duration": 0.0014992859999836128}, "setup": {"outcome": "passed", "duration": 0.0002886460000013358}, "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.00017860199997699056}}, {"call": {"outcome": "passed", "duration": 0.0017202979999808576}, "setup": {"outcome": "passed", "duration": 0.000326176000015721}, "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.0001792830000226786}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009260109999900124, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007751810000229398}, "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.00020468099998538491}}, {"call": {"outcome": "passed", "duration": 0.0014345360000049823}, "setup": {"outcome": "passed", "duration": 0.0003064500000107273}, "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.00017084800001043732}}, {"call": {"outcome": "passed", "duration": 0.0010678650000102152}, "setup": {"outcome": "passed", "duration": 0.00029630100002009385}, "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.00019624500001214074}}, {"call": {"outcome": "passed", "duration": 0.0013340389999996205}, "setup": {"outcome": "passed", "duration": 0.0002996670000072754}, "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.0001777709999828403}}, {"call": {"outcome": "passed", "duration": 0.0007985039999880428}, "setup": {"outcome": "passed", "duration": 0.00032243900000139547}, "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.00017837200002190912}}, {"call": {"outcome": "passed", "duration": 0.0018506600000023354}, "setup": {"outcome": "passed", "duration": 0.0003237220000187335}, "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.0001752050000050076}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.013865458999987368, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003095849999965594}, "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.0001954640000008112}}, {"call": {"outcome": "passed", "duration": 0.0007317999999827407}, "setup": {"outcome": "passed", "duration": 0.0003149549999932333}, "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.00017380300002400872}}, {"call": {"outcome": "passed", "duration": 0.00044320399999264737}, "setup": {"outcome": "passed", "duration": 0.0002977229999885367}, "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.0001686640000002626}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010216590000027281, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039015500001937653}, "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.00018530500000224492}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012285539999936645, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034564199998499134}, "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.0001859349999904225}}, {"call": {"outcome": "passed", "duration": 0.00030987600001708415}, "setup": {"outcome": "passed", "duration": 0.00032239899999808586}, "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.0001707379999800196}}, {"call": {"outcome": "passed", "duration": 0.00037923499999692467}, "setup": {"outcome": "passed", "duration": 0.000294988000007379}, "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.00016918499997586878}}, {"call": {"outcome": "passed", "duration": 0.0005804079999904843}, "setup": {"outcome": "passed", "duration": 0.00031367400001158785}, "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.00016808199998763484}}, {"call": {"outcome": "passed", "duration": 0.0005105190000165294}, "setup": {"outcome": "passed", "duration": 0.0002851300000088486}, "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.00016726100000141741}}, {"call": {"outcome": "passed", "duration": 0.0005195759999878646}, "setup": {"outcome": "passed", "duration": 0.00028729400000315763}, "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.00016560800000320341}}, {"call": {"outcome": "passed", "duration": 0.000577354000000696}, "setup": {"outcome": "passed", "duration": 0.00030403499999920314}, "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.0001647560000037629}}, {"call": {"outcome": "passed", "duration": 0.003706088000001273}, "setup": {"outcome": "passed", "duration": 0.00028317600001059873}, "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.00018986300000278789}}, {"call": {"outcome": "passed", "duration": 0.0018320340000173019}, "setup": {"outcome": "passed", "duration": 0.000304265000011128}, "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.00017634799999655115}}, {"call": {"outcome": "passed", "duration": 0.004216747000015175}, "setup": {"outcome": "passed", "duration": 0.0003322679999939737}, "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.00018970200000012483}}, {"call": {"outcome": "passed", "duration": 0.0050773960000185525}, "setup": {"outcome": "passed", "duration": 0.00030579799999941315}, "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.0002085080000142625}}, {"call": {"outcome": "passed", "duration": 0.013361391999978878}, "setup": {"outcome": "passed", "duration": 0.00030207199998244505}, "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.00028620200001228113}}, {"call": {"outcome": "passed", "duration": 0.009955082000004722}, "setup": {"outcome": "passed", "duration": 0.00033879000000069937}, "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.0002066039999988334}}, {"call": {"outcome": "passed", "duration": 0.00040008400000601796}, "setup": {"outcome": "passed", "duration": 0.0003440099999920676}, "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.00018573500000229615}}, {"call": {"outcome": "passed", "duration": 0.0044497300000045925}, "setup": {"outcome": "passed", "duration": 0.0009920840000177122}, "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.00021745399999417714}}, {"call": {"outcome": "passed", "duration": 0.0003432979999899999}, "setup": {"outcome": "passed", "duration": 0.0009490140000139036}, "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.0001912749999917196}}, {"call": {"outcome": "passed", "duration": 0.003021214999989752}, "setup": {"outcome": "passed", "duration": 0.0009312599999873328}, "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.00021644200000991987}}, {"call": {"outcome": "passed", "duration": 0.02374447400001145}, "setup": {"outcome": "passed", "duration": 0.0009730080000167618}, "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.00025564500000996304}}, {"call": {"outcome": "passed", "duration": 0.013766760999999406}, "setup": {"outcome": "passed", "duration": 0.0010720530000014605}, "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.0002254590000063672}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008829209999987597, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010516239999844856}, "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.00020716500000617089}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008122699999830729, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009994069999947897}, "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.00021329699998773322}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014656840000100146, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010303950000150053}, "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.00020578199999476965}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007841880000114543, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010961370000188708}, "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.00020523099999536498}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002379762999993318, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009514380000155143}, "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.0002284140000199386}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010216290000073514, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010365169999886348}, "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.00021868700000027275}}, {"call": {"outcome": "passed", "duration": 0.0020674319999898216}, "setup": {"outcome": "passed", "duration": 0.0003100960000210762}, "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.00017782000000465814}}, {"call": {"outcome": "passed", "duration": 0.0455372710000006}, "setup": {"outcome": "passed", "duration": 0.00030480699999202443}, "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.0005495009999947342}}, {"call": {"outcome": "passed", "duration": 0.009495948999983739}, "setup": {"outcome": "passed", "duration": 0.000667060000012043}, "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.0001960239999903024}}, {"call": {"outcome": "passed", "duration": 0.8516851990000021}, "setup": {"outcome": "passed", "duration": 0.0003237909999995736}, "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.0003479069999912099}}, {"call": {"outcome": "passed", "duration": 0.0009030479999978525}, "setup": {"outcome": "passed", "duration": 0.0009381240000152502}, "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.0001944010000158869}}, {"call": {"outcome": "passed", "duration": 0.0014273829999922327}, "setup": {"outcome": "passed", "duration": 0.0003503410000007534}, "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.0002096999999992022}}, {"call": {"outcome": "passed", "duration": 0.0011511889999837877}, "setup": {"outcome": "passed", "duration": 0.0003445099999908052}, "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.00018981200000212084}}, {"call": {"outcome": "passed", "duration": 0.0013138220000143974}, "setup": {"outcome": "passed", "duration": 0.0003685949999976401}, "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.0002042899999992187}}, {"call": {"outcome": "passed", "duration": 0.0015043360000106532}, "setup": {"outcome": "passed", "duration": 0.0003362650000156009}, "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.00018702799999914532}}, {"call": {"outcome": "passed", "duration": 0.0006197020000229259}, "setup": {"outcome": "passed", "duration": 0.0003404530000068462}, "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.0001845930000001772}}, {"call": {"outcome": "passed", "duration": 0.000954664000005323}, "setup": {"outcome": "passed", "duration": 0.00034306700001707213}, "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.0001860049999891089}}, {"call": {"outcome": "passed", "duration": 0.009485869999991792}, "setup": {"outcome": "passed", "duration": 0.00033980200001337835}, "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.0002649829999938902}}, {"call": {"outcome": "passed", "duration": 0.0030490270000029795}, "setup": {"outcome": "passed", "duration": 0.00079538800000023}, "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.00018788899998867237}}, {"call": {"outcome": "passed", "duration": 0.003219604000008758}, "setup": {"outcome": "passed", "duration": 0.0003396509999902264}, "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.00019103500000028362}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.15071657900000446, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000685462999996389}, "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.00022747299999537063}}, {"call": {"outcome": "passed", "duration": 0.9175484879999942}, "setup": {"outcome": "passed", "duration": 0.0003014600000028622}, "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.0002111830000046666}}, {"call": {"outcome": "passed", "duration": 0.3781268749999924}, "setup": {"outcome": "passed", "duration": 0.0006983179999906497}, "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.000209287999979324}}, {"call": {"outcome": "passed", "duration": 0.14720074400000271}, "setup": {"outcome": "passed", "duration": 0.0003280800000027284}, "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.0001860049999891089}}, {"call": {"outcome": "passed", "duration": 0.12904378999999722}, "setup": {"outcome": "passed", "duration": 0.0003297330000009424}, "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.0002667360000145891}}, {"call": {"outcome": "passed", "duration": 0.006820606000019325}, "setup": {"outcome": "passed", "duration": 0.00043107099997996556}, "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.00020259599997984878}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009096100000078877, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.008821365000017067}, "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.00020900799998457842}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008628739999778645, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009430130000112058}, "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.00020554200000333367}}, {"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": 753.0, "lineno": 1222, "module": "tsindex", "thread": 140684002563584, "created": 1772629824.753233, "levelno": 30, "process": 3016, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 19865.17095565796}, {"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": 140684002563584, "created": 1772629824.775057, "levelno": 30, "process": 3016, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 19886.99507713318}], "outcome": "passed", "duration": 0.030262834000012617}, "setup": {"outcome": "passed", "duration": 0.0007606340000165801}, "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.0002188469999850895}}, {"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": 784.0, "lineno": 1222, "module": "tsindex", "thread": 140684002563584, "created": 1772629824.7847211, "levelno": 30, "process": 3016, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 19896.65913581848}, {"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": 794.0, "lineno": 1222, "module": "tsindex", "thread": 140684002563584, "created": 1772629824.7948043, "levelno": 30, "process": 3016, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 19906.742334365845}], "outcome": "passed", "duration": 0.017277449999994587}, "setup": {"outcome": "passed", "duration": 0.000945206000011467}, "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.00021666199998549018}}, {"call": {"outcome": "passed", "duration": 0.0018616900000267833}, "setup": {"outcome": "passed", "duration": 0.0007935040000006666}, "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.00021017099999198763}}, {"call": {"outcome": "passed", "duration": 0.016650345000016387}, "setup": {"outcome": "passed", "duration": 0.0007711429999801567}, "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.00020621400000209178}}, {"call": {"outcome": "passed", "duration": 0.0011522309999918434}, "setup": {"outcome": "passed", "duration": 0.0007960089999983211}, "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.00019677600002410145}}, {"call": {"outcome": "passed", "duration": 0.01174678200001722}, "setup": {"outcome": "passed", "duration": 0.0007493329999874732}, "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.00021428799999512194}}, {"call": {"outcome": "passed", "duration": 0.000790979999976571}, "setup": {"outcome": "passed", "duration": 0.00035876600000506187}, "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.00017913299998895127}}, {"call": {"outcome": "passed", "duration": 0.00029606100000023616}, "setup": {"outcome": "passed", "duration": 0.0003845640000008643}, "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.00018166800001040428}}, {"call": {"outcome": "passed", "duration": 0.0004995089999795255}, "setup": {"outcome": "passed", "duration": 0.00031962400001361857}, "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.00016726100000141741}}, {"call": {"outcome": "passed", "duration": 0.017775715999988506}, "setup": {"outcome": "passed", "duration": 0.00031508499998267325}, "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.00019079499998042593}}, {"call": {"outcome": "passed", "duration": 0.0014977630000032605}, "setup": {"outcome": "passed", "duration": 0.0003431579999926271}, "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.0001770290000138175}}, {"call": {"outcome": "passed", "duration": 0.0013664499999777036}, "setup": {"outcome": "passed", "duration": 0.0003528960000096504}, "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.00019646499998771105}}, {"call": {"outcome": "passed", "duration": 0.00034029200000418314}, "setup": {"outcome": "passed", "duration": 0.00032894099999225546}, "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.00017213999998944018}}, {"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": 873.0, "lineno": 1222, "module": "tsindex", "thread": 140684002563584, "created": 1772629824.8734531, "levelno": 30, "process": 3016, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 19985.39113998413}, {"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": 885.0, "lineno": 1222, "module": "tsindex", "thread": 140684002563584, "created": 1772629824.8855808, "levelno": 30, "process": 3016, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 19997.51877784729}], "outcome": "passed", "duration": 0.02048108500000012}, "setup": {"outcome": "passed", "duration": 0.00032791900000006535}, "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.00018444200000544697}}, {"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": 895.0, "lineno": 1222, "module": "tsindex", "thread": 140684002563584, "created": 1772629824.8950386, "levelno": 30, "process": 3016, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 20006.97660446167}], "outcome": "passed", "duration": 0.004994181999990133}, "setup": {"outcome": "passed", "duration": 0.000370128000014347}, "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.00031723000000738466}}, {"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": 904.0, "lineno": 1222, "module": "tsindex", "thread": 140684002563584, "created": 1772629824.9045572, "levelno": 30, "process": 3016, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 20016.49522781372}], "outcome": "passed", "duration": 0.022865004999999883}, "setup": {"outcome": "passed", "duration": 0.0004619290000107412}, "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.00019133500001089487}}, {"call": {"outcome": "passed", "duration": 0.0006700550000005023}, "setup": {"outcome": "passed", "duration": 0.0009054829999968206}, "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.0002158609999867167}}, {"call": {"outcome": "passed", "duration": 0.00023352400000931084}, "setup": {"outcome": "passed", "duration": 0.023691751000001204}, "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.00022035000000641958}}, {"call": {"outcome": "passed", "duration": 0.15089746600000353}, "setup": {"outcome": "passed", "duration": 0.1308912629999952}, "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.00023254300000985495}}, {"call": {"outcome": "passed", "duration": 0.0006134099999997034}, "setup": {"outcome": "passed", "duration": 0.022584112999993522}, "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.00020241600000758808}}, {"call": {"outcome": "passed", "duration": 0.00033829899999204827}, "setup": {"outcome": "passed", "duration": 0.02265671800000746}, "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.00021820599999955448}}, {"call": {"outcome": "passed", "duration": 0.0002999369999940882}, "setup": {"outcome": "passed", "duration": 0.022538107999992008}, "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.00020278699997788863}}, {"call": {"outcome": "passed", "duration": 0.00023541800001680713}, "setup": {"outcome": "passed", "duration": 0.07514220300001284}, "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.00020100400001865637}}, {"call": {"outcome": "passed", "duration": 0.14101008900001943}, "setup": {"outcome": "passed", "duration": 0.0756020580000154}, "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.0002094889999852967}}, {"call": {"outcome": "passed", "duration": 0.0005187540000122226}, "setup": {"outcome": "passed", "duration": 0.0753856350000035}, "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.00020517100000461141}}, {"call": {"outcome": "passed", "duration": 0.0004966129999957047}, "setup": {"outcome": "passed", "duration": 0.07645782899999176}, "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.0002551430000039545}}, {"call": {"outcome": "passed", "duration": 0.00032734800001321673}, "setup": {"outcome": "passed", "duration": 0.07615056700001333}, "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.00022375599999691076}}, {"call": {"outcome": "passed", "duration": 0.06308675799999719}, "setup": {"outcome": "passed", "duration": 0.07618720499999654}, "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.0002381930000012744}}, {"call": {"outcome": "passed", "duration": 0.0005779640000014297}, "setup": {"outcome": "passed", "duration": 0.07572857200000271}, "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.00022238299999344235}}, {"call": {"outcome": "passed", "duration": 0.0004092810000031477}, "setup": {"outcome": "passed", "duration": 0.07637358200000222}, "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.00021466900000177702}}, {"call": {"outcome": "passed", "duration": 0.01099460399998975}, "setup": {"outcome": "passed", "duration": 0.0757100879999939}, "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.0002409679999857417}}, {"call": {"outcome": "passed", "duration": 0.008028782000025103}, "setup": {"outcome": "passed", "duration": 0.0769155779999835}, "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.00044439600000600876}}, {"call": {"outcome": "passed", "duration": 0.0021000730000082513}, "setup": {"outcome": "passed", "duration": 0.0009039599999880465}, "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.00019070500002271729}}, {"call": {"outcome": "passed", "duration": 0.0005322390000230826}, "setup": {"outcome": "passed", "duration": 0.0007134859999951004}, "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.00026064499999733926}}, {"call": {"outcome": "failed", "duration": 0.006757098000008455, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/__init__.py:63: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006159349999848018}, "lineno": 11, "nodeid": "core/__init__.py::obspy.core", "outcome": "failed", "keywords": ["obspy.core", "filterwarnings", "__init__.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020395900000380607}}, {"call": {"outcome": "passed", "duration": 0.0031712440000148945}, "setup": {"outcome": "passed", "duration": 0.00040893999999980224}, "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.00018600600000695522}}, {"call": {"outcome": "passed", "duration": 0.003996849000003522}, "setup": {"outcome": "passed", "duration": 0.0006294000000082178}, "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.00018419200000607816}}, {"call": {"outcome": "passed", "duration": 0.0031957599999827835}, "setup": {"outcome": "passed", "duration": 0.00036209300000678013}, "lineno": 491, "nodeid": "core/event/base.py::obspy.core.event.base.CompositeTime", "outcome": "passed", "keywords": ["obspy.core.event.base.CompositeTime", "filterwarnings", "base.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020469000000389315}}, {"call": {"outcome": "passed", "duration": 0.0027690670000026785}, "setup": {"outcome": "passed", "duration": 0.00032699799999136303}, "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.0002096700000038254}}, {"call": {"outcome": "passed", "duration": 0.0026785979999885967}, "setup": {"outcome": "passed", "duration": 0.00032011499999384796}, "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.00018313999999008956}}, {"call": {"outcome": "passed", "duration": 0.002825451000006751}, "setup": {"outcome": "passed", "duration": 0.00032056599999918944}, "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.0002004229999954532}}, {"call": {"outcome": "passed", "duration": 0.003641668000000209}, "setup": {"outcome": "passed", "duration": 0.00032140700000127254}, "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.00018419200000607816}}, {"call": {"outcome": "failed", "duration": 0.004392012000010936, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/event/catalog.py:137: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003877810000005866}, "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.00021034000002373432}}, {"call": {"outcome": "failed", "duration": 0.004158809000017527, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/event/catalog.py:265: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003292819999956009}, "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.00018982200001005367}}, {"call": {"outcome": "failed", "duration": 0.004142609000012953, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/event/catalog.py:415: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00035176399998704255}, "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.0001894829999855574}}, {"call": {"outcome": "failed", "duration": 0.00412832300000332, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/event/catalog.py:301: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003319070000031843}, "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.0001894119999974464}}, {"call": {"outcome": "failed", "duration": 0.004250400000017862, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/event/catalog.py:625: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003205160000163687}, "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.00018653699999049422}}, {"call": {"outcome": "failed", "duration": 0.0041656719999991765, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/event/catalog.py:472: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0014770150000060767}, "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.00019428100000595805}}, {"call": {"outcome": "failed", "duration": 0.005121599000005972, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/event/event.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004241279999916969}, "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.00018795899998735877}}, {"call": {"outcome": "passed", "duration": 0.002439725000016324}, "setup": {"outcome": "passed", "duration": 0.0003273390000231302}, "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.000181427000001122}}, {"call": {"outcome": "passed", "duration": 0.0033376529999884497}, "setup": {"outcome": "passed", "duration": 0.00038731999998731226}, "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.00018679699999779587}}, {"call": {"outcome": "passed", "duration": 0.004811031000002686}, "setup": {"outcome": "passed", "duration": 0.0004190889999904357}, "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.00018590600001289204}}, {"call": {"outcome": "passed", "duration": 0.002601684999973486}, "setup": {"outcome": "passed", "duration": 0.00034930000001054395}, "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.00018185800001901953}}, {"call": {"outcome": "passed", "duration": 0.0025355729999887444}, "setup": {"outcome": "passed", "duration": 0.00034286700000052406}, "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.000189231999996764}}, {"call": {"outcome": "failed", "duration": 0.0041036670000096365, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/inventory/__init__.py:27: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006514100000174494}, "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.00020778600000426195}}, {"call": {"outcome": "passed", "duration": 0.057728929999996126}, "setup": {"outcome": "passed", "duration": 0.0003891929999895183}, "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.00023323400000663241}}, {"call": {"outcome": "passed", "duration": 0.1219933560000186}, "setup": {"outcome": "passed", "duration": 0.00045304200000373385}, "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.00024907299999199495}}, {"call": {"outcome": "passed", "duration": 0.12206418799999597}, "setup": {"outcome": "passed", "duration": 0.00042824599998425583}, "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.00024607700001411104}}, {"call": {"outcome": "failed", "duration": 0.004672845000015968, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/inventory/inventory.py:250: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000383222000010619}, "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.00019110500002739172}}, {"call": {"outcome": "passed", "duration": 0.05759515100001522}, "setup": {"outcome": "passed", "duration": 0.0003289519999896129}, "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.00022379600000022037}}, {"call": {"outcome": "passed", "duration": 0.05786219800000936}, "setup": {"outcome": "passed", "duration": 0.0003812079999931939}, "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.00023356400001262045}}, {"call": {"outcome": "failed", "duration": 0.004712667999996256, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/inventory/inventory.py:420: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00040327899998260364}, "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.00018896100002052663}}, {"call": {"outcome": "failed", "duration": 0.1137809440000126, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/inventory/inventory.py:953: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032848099999682745}, "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.00022958599998901263}}, {"call": {"outcome": "passed", "duration": 0.05832947599998306}, "setup": {"outcome": "passed", "duration": 0.00038457499999822176}, "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.00022107099999857382}}, {"call": {"outcome": "passed", "duration": 0.19051155899998662}, "setup": {"outcome": "passed", "duration": 0.00040099499997836574}, "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.00022689100001116458}}, {"call": {"outcome": "passed", "duration": 0.05754807399998185}, "setup": {"outcome": "passed", "duration": 0.00041161499999020634}, "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.0002109319999874515}}, {"call": {"outcome": "passed", "duration": 0.056676664999997683}, "setup": {"outcome": "passed", "duration": 0.0003803970000149093}, "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.0002185959999962961}}, {"call": {"outcome": "failed", "duration": 0.004656785000008767, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/inventory/network.py:189: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004371720000051482}, "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.00018869100000529215}}, {"call": {"outcome": "passed", "duration": 0.057713641999981746}, "setup": {"outcome": "passed", "duration": 0.0003427069999872856}, "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.00021949800000697905}}, {"call": {"outcome": "passed", "duration": 0.05670991700000627}, "setup": {"outcome": "passed", "duration": 0.0003812479999965035}, "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.00021896699999501834}}, {"call": {"outcome": "passed", "duration": 0.05638984200001573}, "setup": {"outcome": "passed", "duration": 0.00036224400000151036}, "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.00018887100000597457}}, {"call": {"outcome": "failed", "duration": 0.0053805000000011205, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/inventory/response.py:370: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00039853100000186714}, "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.00018426299999418916}}, {"call": {"outcome": "passed", "duration": 0.002439754999983279}, "setup": {"outcome": "passed", "duration": 0.0003366149999806112}, "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.000176118000013048}}, {"call": {"outcome": "passed", "duration": 0.05566700800000035}, "setup": {"outcome": "passed", "duration": 0.00033170600002563333}, "lineno": 1842, "nodeid": "core/inventory/response.py::obspy.core.inventory.response.Response.plot", "outcome": "passed", "keywords": ["obspy.core.inventory.response.Response.plot", "filterwarnings", "response.py", "inventory", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018513399999164903}}, {"call": {"outcome": "failed", "duration": 0.00395115399999213, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/inventory/station.py:204: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003988310000124784}, "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.00018338099999937185}}, {"call": {"outcome": "passed", "duration": 0.05611626399999636}, "setup": {"outcome": "passed", "duration": 0.00033737700002234305}, "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.0001887809999914225}}, {"call": {"outcome": "passed", "duration": 0.05684878399998183}, "setup": {"outcome": "passed", "duration": 0.0003326879999860921}, "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.00020902899998986868}}, {"call": {"outcome": "passed", "duration": 0.06452329699999382}, "setup": {"outcome": "passed", "duration": 0.0004036899999846355}, "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.00018982299999947827}}, {"call": {"outcome": "passed", "duration": 0.0029473670000186303}, "setup": {"outcome": "passed", "duration": 0.00042870600000810555}, "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.0001781910000033804}}, {"call": {"outcome": "passed", "duration": 0.0029188739999881363}, "setup": {"outcome": "passed", "duration": 0.00032161799998675633}, "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.00017860200000541226}}, {"call": {"outcome": "failed", "duration": 0.005166260999999395, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:575: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003227290000040739}, "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.00018419299999550276}}, {"call": {"outcome": "passed", "duration": 0.0028435549999983323}, "setup": {"outcome": "passed", "duration": 0.00031536599999526516}, "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.00017906300001868658}}, {"call": {"outcome": "passed", "duration": 0.0044187620000002426}, "setup": {"outcome": "passed", "duration": 0.00034487000002059176}, "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.00019544399998494555}}, {"call": {"outcome": "passed", "duration": 0.002588631000008945}, "setup": {"outcome": "passed", "duration": 0.00031673899999873356}, "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.00017598700000576173}}, {"call": {"outcome": "failed", "duration": 0.005081644000000551, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003122210000015002}, "lineno": 427, "nodeid": "core/stream.py::obspy.core.stream.Stream.__mul__", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.__mul__", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002033680000010918}}, {"call": {"outcome": "failed", "duration": 0.005287557000002607, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:607: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003206160000104319}, "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.00018786900000122841}}, {"call": {"outcome": "passed", "duration": 0.0027668619999872135}, "setup": {"outcome": "passed", "duration": 0.00033835899998280183}, "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.00018144699998856595}}, {"call": {"outcome": "passed", "duration": 0.0036454439999999977}, "setup": {"outcome": "passed", "duration": 0.0003388700000073186}, "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.0001835019999987253}}, {"call": {"outcome": "failed", "duration": 0.004033927999984144, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:3571: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033980200001337835}, "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.00018556499998112486}}, {"call": {"outcome": "failed", "duration": 0.004003098999987742, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:3513: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033670599998458783}, "lineno": 3508, "nodeid": "core/stream.py::obspy.core.stream.Stream._rotate_to_zne", "outcome": "failed", "keywords": ["obspy.core.stream.Stream._rotate_to_zne", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018758900000648282}}, {"call": {"outcome": "failed", "duration": 0.005293427999987443, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:682: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003355640000108906}, "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.00018896099999210492}}, {"call": {"outcome": "failed", "duration": 0.005079250000022739, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:2966: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003215779999834467}, "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.00020510100000592502}}, {"call": {"outcome": "failed", "duration": 0.005043292999999949, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:2929: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032098700000915414}, "lineno": 2917, "nodeid": "core/stream.py::obspy.core.stream.Stream.copy", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.copy", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001880799999867122}}, {"call": {"outcome": "failed", "duration": 0.0051131329999805075, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1593: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032158700000195495}, "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.00019002300001602634}}, {"call": {"outcome": "passed", "duration": 0.003196871000000101}, "setup": {"outcome": "passed", "duration": 0.0003263559999879817}, "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.00018650600000569284}}, {"call": {"outcome": "failed", "duration": 0.005070523999989973, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:711: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003232509999975264}, "lineno": 701, "nodeid": "core/stream.py::obspy.core.stream.Stream.extend", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.extend", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018947199998819997}}, {"call": {"outcome": "failed", "duration": 0.005043903999990107, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:2249: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003443299999901228}, "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.00018825999998739462}}, {"call": {"outcome": "failed", "duration": 0.005283660000003465, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:764: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003237410000167529}, "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.0001920870000162722}}, {"call": {"outcome": "failed", "duration": 0.005065524000002597, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:2612: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003428079999991951}, "lineno": 2587, "nodeid": "core/stream.py::obspy.core.stream.Stream.interpolate", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.interpolate", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001871979999918949}}, {"call": {"outcome": "passed", "duration": 0.002835439999984146}, "setup": {"outcome": "passed", "duration": 0.0003439089999801581}, "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.00018107700000769}}, {"call": {"outcome": "passed", "duration": 0.004606610999985605}, "setup": {"outcome": "passed", "duration": 0.00031986499999447915}, "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.00018453199999157732}}, {"call": {"outcome": "failed", "duration": 0.005099336999990101, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1157: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003449609999961467}, "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.0001884300000085659}}, {"call": {"outcome": "failed", "duration": 0.005616478000007419, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1209: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003237120000108007}, "lineno": 1196, "nodeid": "core/stream.py::obspy.core.stream.Stream.pop", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.pop", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018937199999413679}}, {"call": {"outcome": "failed", "duration": 0.005059152000001177, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1239: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003325380000092082}, "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.00020504100001517145}}, {"call": {"outcome": "failed", "duration": 0.005026451999981418, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1310: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032007499999053834}, "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.00020226600000228245}}, {"call": {"outcome": "failed", "duration": 0.005342149000000518, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:3241: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031659799998351446}, "lineno": 3232, "nodeid": "core/stream.py::obspy.core.stream.Stream.remove_response", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.remove_response", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001908549999996012}}, {"call": {"outcome": "failed", "duration": 0.005074150000012878, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:3275: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032510399998386674}, "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.00018661699999711345}}, {"call": {"outcome": "failed", "duration": 0.005024428000012904, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:2387: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032289099999616155}, "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.00020355799998128532}}, {"call": {"outcome": "failed", "duration": 0.005044996000009405, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1334: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032141799999862997}, "lineno": 1327, "nodeid": "core/stream.py::obspy.core.stream.Stream.reverse", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.reverse", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019286900001702634}}, {"call": {"outcome": "failed", "duration": 0.004023719000002757, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:2774: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003490390000138177}, "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.00018710800000576455}}, {"call": {"outcome": "failed", "duration": 0.005065965000000006, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1796: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003414040000109253}, "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.00018563500000823296}}, {"call": {"outcome": "failed", "duration": 0.00506568500000526, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:2161: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031733000000144784}, "lineno": 2095, "nodeid": "core/stream.py::obspy.core.stream.Stream.simulate", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.simulate", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002045299999906547}}, {"call": {"outcome": "failed", "duration": 0.00529858800001648, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1655: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003236510000022008}, "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.000189161000008653}}, {"call": {"outcome": "failed", "duration": 0.005054693999994697, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1718: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003414050000003499}, "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.00018694699997467978}}, {"call": {"outcome": "failed", "duration": 0.005024579000007634, "longrepr": "1365              'dataquality'\n1366              Defaults to ['network', 'station', 'location', 'channel',\n1367              'starttime', 'endtime'].\n1368         :type reverse: bool\n1369         :param reverse: Reverts sorting order to descending.\n1370 \n1371         .. rubric:: Example\n1372 \n1373         >>> from obspy import read\n1374         >>> 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.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.sort[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1374: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032204800001522926}, "lineno": 1351, "nodeid": "core/stream.py::obspy.core.stream.Stream.sort", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.sort", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020295699999905992}}, {"call": {"outcome": "failed", "duration": 0.005405996999996887, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1180: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003303940000023431}, "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.0001883900000052563}}, {"call": {"outcome": "failed", "duration": 0.005130766000007725, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:3330: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003389100000106282}, "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.0001874489999806883}}, {"call": {"outcome": "passed", "duration": 0.0028940490000195496}, "setup": {"outcome": "passed", "duration": 0.00032070500000713764}, "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.00020842699998979697}}, {"call": {"outcome": "failed", "duration": 0.005158907999998519, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:2324: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032471399998712513}, "lineno": 2265, "nodeid": "core/stream.py::obspy.core.stream.Stream.trigger", "outcome": "failed", "keywords": ["obspy.core.stream.Stream.trigger", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001987690000078146}}, {"call": {"outcome": "failed", "duration": 0.005294460000015988, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:1516: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003532160000077056}, "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.0001901139999915813}}, {"call": {"outcome": "passed", "duration": 0.0029422179999869513}, "setup": {"outcome": "passed", "duration": 0.0003213869999854069}, "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.00019764799998256422}}, {"call": {"outcome": "passed", "duration": 0.0024453339999865875}, "setup": {"outcome": "passed", "duration": 0.00031385400001227026}, "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.00017622800001504402}}, {"call": {"outcome": "skipped", "duration": 0.0002837370000179362, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00031103799997822534}, "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.00017930300001012256}}, {"call": {"outcome": "failed", "duration": 0.005025971000009122, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/stream.py:103: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000329792999991696}, "lineno": 44, "nodeid": "core/stream.py::obspy.core.stream.read", "outcome": "failed", "keywords": ["obspy.core.stream.read", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001928890000044703}}, {"call": {"outcome": "passed", "duration": 0.5315750100000116}, "setup": {"outcome": "passed", "duration": 0.0008849649999831399}, "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.0003243820000022879}}, {"call": {"outcome": "passed", "duration": 0.0005620849999843358}, "setup": {"outcome": "passed", "duration": 0.00037841299999286093}, "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.00024111800001946904}}, {"call": {"outcome": "passed", "duration": 0.000265122999991263}, "setup": {"outcome": "passed", "duration": 0.00037538699999117853}, "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.00018236899998669287}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013205340000013166, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035524999998415296}, "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.0001906050000002324}}, {"call": {"outcome": "passed", "duration": 0.000907386999983828}, "setup": {"outcome": "passed", "duration": 0.00032144799999400675}, "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.00018117599998390688}}, {"call": {"outcome": "passed", "duration": 0.0007992760000092858}, "setup": {"outcome": "passed", "duration": 0.00030463699999927485}, "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.00017772100000001956}}, {"call": {"outcome": "passed", "duration": 0.0012136160000011387}, "setup": {"outcome": "passed", "duration": 0.0002994170000079066}, "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.0001976070000182517}}, {"call": {"outcome": "passed", "duration": 5.876901922000002}, "setup": {"outcome": "passed", "duration": 0.000503945999980715}, "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.00027565199999912693}}, {"call": {"outcome": "passed", "duration": 0.0005965779999996812}, "setup": {"outcome": "passed", "duration": 0.00036372599998912847}, "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.00018314000001851127}}, {"call": {"outcome": "passed", "duration": 0.0013142720000018926}, "setup": {"outcome": "passed", "duration": 0.000303142999996453}, "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.00018161799999916184}}, {"call": {"outcome": "passed", "duration": 0.000766644999998789}, "setup": {"outcome": "passed", "duration": 0.0002989960000263636}, "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.000185153999979093}}, {"call": {"outcome": "passed", "duration": 0.007776614999983167}, "setup": {"outcome": "passed", "duration": 0.00029436699998086624}, "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.00018372099998487101}}, {"call": {"outcome": "passed", "duration": 0.00036628099999802544}, "setup": {"outcome": "passed", "duration": 0.00030449600001247745}, "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.0001767889999939598}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013103550000153064, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029461799999808136}, "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.00018763900001772527}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010836339999968914, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030164099999296923}, "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.0002077359999930195}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007275019999894994, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007710330000065824}, "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.00018780899998205314}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007082159999924897, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003474160000109805}, "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.00018811999999002182}}, {"call": {"outcome": "passed", "duration": 0.000798163000013119}, "setup": {"outcome": "passed", "duration": 0.00030121999998300453}, "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.00017801100000269798}}, {"call": {"outcome": "passed", "duration": 0.001159936000021844}, "setup": {"outcome": "passed", "duration": 0.0002944279999894661}, "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.00019283799997538154}}, {"call": {"outcome": "passed", "duration": 0.001256565000005594}, "setup": {"outcome": "passed", "duration": 0.00029096100001879677}, "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.00017585699998790005}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001187848000000713, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003119300000093972}, "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.00020760599997515783}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012573369999984152, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002964009999857353}, "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.00018802900001446687}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001094494000000168, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030316400000174326}, "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.0002030180000076598}}, {"call": {"outcome": "passed", "duration": 0.0015838339999731943}, "setup": {"outcome": "passed", "duration": 0.0002987750000045253}, "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.0001775599999973565}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010901260000082402, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002933959999893432}, "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.0001855049999903713}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011049839999941469, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031431400000769827}, "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.000188811000015221}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007168820000060805, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003459030000101393}, "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.0001883209999959945}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010832130000153484, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030186099999696125}, "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.0001848029999962364}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019040389999815943, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029458700001328}, "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.00018236799999726827}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008791740000049231, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033755699999460376}, "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.00019100500000490683}}, {"call": {"outcome": "passed", "duration": 0.0003372470000044814}, "setup": {"outcome": "passed", "duration": 0.0003196650000063528}, "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.0001783319999901778}}, {"call": {"outcome": "passed", "duration": 0.00032762899999738693}, "setup": {"outcome": "passed", "duration": 0.0002965409999831081}, "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.0001752449999798955}}, {"call": {"outcome": "passed", "duration": 0.00026218799999355724}, "setup": {"outcome": "passed", "duration": 0.0003101369999853887}, "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.0001767889999939598}}, {"call": {"outcome": "passed", "duration": 0.0002897690000054354}, "setup": {"outcome": "passed", "duration": 0.00029007900002397946}, "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.00017607699999189208}}, {"call": {"outcome": "passed", "duration": 0.0003008190000173272}, "setup": {"outcome": "passed", "duration": 0.0003042350000157512}, "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.00017209000000661945}}, {"call": {"outcome": "passed", "duration": 0.001176455999996051}, "setup": {"outcome": "passed", "duration": 0.0002846390000001975}, "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.0001763280000091072}}, {"call": {"outcome": "passed", "duration": 0.0006386270000007244}, "setup": {"outcome": "passed", "duration": 0.0002895979999948395}, "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.0001961950000008983}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011164150000126938, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028708400000709844}, "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.00025600600000075246}}, {"call": {"outcome": "passed", "duration": 0.00028825600000459417}, "setup": {"outcome": "passed", "duration": 0.0004896000000087497}, "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.0001798750000148175}}, {"call": {"outcome": "passed", "duration": 0.001630561000013131}, "setup": {"outcome": "passed", "duration": 0.00032369100000551043}, "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.00018812900000853006}}, {"call": {"outcome": "passed", "duration": 0.0005963190000102259}, "setup": {"outcome": "passed", "duration": 0.0003291720000220266}, "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.00020088299999088122}}, {"call": {"outcome": "passed", "duration": 0.0005867209999905754}, "setup": {"outcome": "passed", "duration": 0.0003009699999836357}, "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.0001804450000122415}}, {"call": {"outcome": "passed", "duration": 0.6299696470000242}, "setup": {"outcome": "passed", "duration": 0.0004371619999972154}, "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.00030204099999764367}}, {"call": {"outcome": "passed", "duration": 0.24787841600002025}, "setup": {"outcome": "passed", "duration": 0.0003768499999807773}, "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.0002041790000077981}}, {"call": {"outcome": "passed", "duration": 0.3223563159999969}, "setup": {"outcome": "passed", "duration": 0.00034125499999504427}, "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.00019926999999597683}}, {"call": {"outcome": "passed", "duration": 0.05320229200000881}, "setup": {"outcome": "passed", "duration": 0.00034370899999203175}, "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.00018786900000122841}}, {"call": {"outcome": "passed", "duration": 0.0684713739999836}, "setup": {"outcome": "passed", "duration": 0.0003129609999916738}, "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.00018866099998149366}}, {"call": {"outcome": "passed", "duration": 0.05734899000000837}, "setup": {"outcome": "passed", "duration": 0.00031638799998745526}, "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.00019062499998767635}}, {"call": {"outcome": "passed", "duration": 0.0596921959999861}, "setup": {"outcome": "passed", "duration": 0.00031525599999326914}, "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.0001820280000117691}}, {"call": {"outcome": "passed", "duration": 0.05373003299999368}, "setup": {"outcome": "passed", "duration": 0.00031199000000015076}, "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.0001924679999945056}}, {"call": {"outcome": "passed", "duration": 0.00036358599999175567}, "setup": {"outcome": "passed", "duration": 0.0003123999999843363}, "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.00017613800000049196}}, {"call": {"outcome": "passed", "duration": 0.0002410379999844281}, "setup": {"outcome": "passed", "duration": 0.00030129999998962376}, "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.00017580700000507932}}, {"call": {"outcome": "passed", "duration": 0.08853096100000357}, "setup": {"outcome": "passed", "duration": 0.0002952289999882396}, "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.00021040100000391249}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010380300000178977, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030959500000449225}, "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.00018618599997921592}}, {"call": {"outcome": "passed", "duration": 0.11609090999999694}, "setup": {"outcome": "passed", "duration": 0.00030795199998578937}, "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.00018967299999417264}}, {"call": {"outcome": "passed", "duration": 0.10639621900000407}, "setup": {"outcome": "passed", "duration": 0.00031554599999594757}, "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.00019017400001075657}}, {"call": {"outcome": "passed", "duration": 0.0002829259999828082}, "setup": {"outcome": "passed", "duration": 0.0003114490000086789}, "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.00017577600002027793}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007195370000090406, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007559050000054413}, "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.00021117299999673378}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007218009999974129, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000343368000017108}, "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.0002533509999977923}}, {"call": {"outcome": "passed", "duration": 2.227132021000017}, "setup": {"outcome": "passed", "duration": 0.0005228019999776734}, "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.00031060899999602043}}, {"call": {"outcome": "passed", "duration": 1.3029766090000123}, "setup": {"outcome": "passed", "duration": 0.0005383840000092732}, "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.00029309600000715363}}, {"call": {"outcome": "passed", "duration": 3.233292599000009}, "setup": {"outcome": "passed", "duration": 0.0005119839999849773}, "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.0003277189999835173}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05577913100000842, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005428380000012112}, "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.00038393399998426503}}, {"call": {"outcome": "passed", "duration": 0.0007489010000085727}, "setup": {"outcome": "passed", "duration": 0.0005085859999951481}, "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.00019406100000196602}}, {"call": {"outcome": "passed", "duration": 0.0005989429999999629}, "setup": {"outcome": "passed", "duration": 0.00031941299999971307}, "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.0001778410000099484}}, {"call": {"outcome": "passed", "duration": 0.6745612109999968}, "setup": {"outcome": "passed", "duration": 0.00043601999999509644}, "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.00031230100000811944}}, {"call": {"outcome": "passed", "duration": 0.2499647649999872}, "setup": {"outcome": "passed", "duration": 0.00037873399998034074}, "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.00025641700000278433}}, {"call": {"outcome": "passed", "duration": 0.05636933900001395}, "setup": {"outcome": "passed", "duration": 0.0004064959999823259}, "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.00021284600001081344}}, {"call": {"outcome": "passed", "duration": 0.05793098099999838}, "setup": {"outcome": "passed", "duration": 0.00037663099999463157}, "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.00021453899998391535}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012374709999960487, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003549800000257619}, "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.00019487200000867233}}, {"call": {"outcome": "passed", "duration": 0.054721574999973654}, "setup": {"outcome": "passed", "duration": 0.0003525149999745736}, "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.00020425900001441732}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003740041000014571, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003557910000040465}, "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.00026982099998917874}}, {"call": {"outcome": "passed", "duration": 1.3611878760000025}, "setup": {"outcome": "passed", "duration": 0.0006478740000090966}, "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.00030137100000615646}}, {"call": {"outcome": "passed", "duration": 1.2509603119999895}, "setup": {"outcome": "passed", "duration": 0.0005486820000157877}, "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.0002804920000016864}}, {"call": {"outcome": "passed", "duration": 0.6397957949999977}, "setup": {"outcome": "passed", "duration": 0.0005423899999925652}, "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.00035643399999685244}}, {"call": {"outcome": "passed", "duration": 0.0022847729999853073}, "setup": {"outcome": "passed", "duration": 0.0004717380000158755}, "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.00018826100000524093}}, {"call": {"outcome": "passed", "duration": 0.001561305999985052}, "setup": {"outcome": "passed", "duration": 0.0002988159999972595}, "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.0001841720000186342}}, {"call": {"outcome": "passed", "duration": 0.0019013599999766484}, "setup": {"outcome": "passed", "duration": 0.0002975540000136334}, "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.0001827699999807919}}, {"call": {"outcome": "passed", "duration": 0.001080430999991222}, "setup": {"outcome": "passed", "duration": 0.00029506900000342284}, "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.00019620500000883112}}, {"call": {"outcome": "passed", "duration": 0.001150722000005544}, "setup": {"outcome": "passed", "duration": 0.0002927049999925657}, "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.0001798149999956422}}, {"call": {"outcome": "passed", "duration": 0.0006900240000220492}, "setup": {"outcome": "passed", "duration": 0.00030575900001394984}, "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.0001793840000061664}}, {"call": {"outcome": "passed", "duration": 0.000644630000010693}, "setup": {"outcome": "passed", "duration": 0.00028589200002215875}, "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.00020229599999765924}}, {"call": {"outcome": "passed", "duration": 0.0006759679999959189}, "setup": {"outcome": "passed", "duration": 0.0005573779999963335}, "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.0001784730000053969}}, {"call": {"outcome": "passed", "duration": 0.000297374000012951}, "setup": {"outcome": "passed", "duration": 0.0003171010000073693}, "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.00017372399997839238}}, {"call": {"outcome": "passed", "duration": 0.0003968379999719218}, "setup": {"outcome": "passed", "duration": 0.00029680299999768067}, "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.00017377300000021023}}, {"call": {"outcome": "passed", "duration": 0.0003205170000057933}, "setup": {"outcome": "passed", "duration": 0.000312360999998873}, "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.0001726020000205608}}, {"call": {"outcome": "passed", "duration": 0.0005354569999838077}, "setup": {"outcome": "passed", "duration": 0.00029198299998256516}, "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.00017139900000984198}}, {"call": {"outcome": "passed", "duration": 0.0003998840000178916}, "setup": {"outcome": "passed", "duration": 0.000309957000013128}, "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.00018279099998608217}}, {"call": {"outcome": "passed", "duration": 0.0004216850000204886}, "setup": {"outcome": "passed", "duration": 0.00028860699998745076}, "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.00016691100000798542}}, {"call": {"outcome": "passed", "duration": 0.0002656850000164468}, "setup": {"outcome": "passed", "duration": 0.0003043460000071718}, "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.00017015699998523814}}, {"call": {"outcome": "passed", "duration": 0.000414371000005076}, "setup": {"outcome": "passed", "duration": 0.0002922749999925145}, "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.0001631030000055489}}, {"call": {"outcome": "passed", "duration": 0.00027492099999903985}, "setup": {"outcome": "passed", "duration": 0.0002978050000024268}, "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.0001705270000229575}}, {"call": {"outcome": "passed", "duration": 0.0013517859999865323}, "setup": {"outcome": "passed", "duration": 0.0002964219999910256}, "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.00016898400002673952}}, {"call": {"outcome": "passed", "duration": 0.001013687000011032}, "setup": {"outcome": "passed", "duration": 0.00030038899998885427}, "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.00017008700001497346}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008322781999993367, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003021320000016203}, "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.00019041400000219255}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007948446000000331, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003146759999879123}, "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.0001871990000097412}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00764550200000258, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000311238999984198}, "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.0001904350000074828}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008079158999976244, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035056299998359464}, "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.00018509500000618573}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007466829999998481, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030921600000510807}, "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.00019710699999109238}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007610004999975217, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031681000001526627}, "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.00019699700001751808}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007893934999998464, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032933299999626797}, "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.00018570599999634396}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012240279999957693, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003288519999955497}, "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.000195603999998184}}, {"call": {"outcome": "passed", "duration": 0.0005296260000022812}, "setup": {"outcome": "passed", "duration": 0.000306409999978996}, "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.00017755100000726998}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011028830000157086, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003053890000046522}, "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.00019937100000788632}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.04109759199999985, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/multiprocessing/pool.py\", line 774, in get\n    raise self._value\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/pool.py\", line 125, in worker\n    result = (True, func(*args, **kwds))\n                    ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/pool.py\", line 48, in mapstar\n    return list(map(*args))\n           ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005601629999887336}, "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.00018495399999096662}}, {"call": {"outcome": "passed", "duration": 0.0002834470000152578}, "setup": {"outcome": "passed", "duration": 0.00030913599999848884}, "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.0001722509999808608}}, {"call": {"outcome": "passed", "duration": 0.0002640310000003865}, "setup": {"outcome": "passed", "duration": 0.0002962510000088514}, "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.00016438599999446524}}, {"call": {"outcome": "passed", "duration": 0.0003125620000048457}, "setup": {"outcome": "passed", "duration": 0.0002958910000074866}, "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.00016449600002488296}}, {"call": {"outcome": "passed", "duration": 0.008957463999990978}, "setup": {"outcome": "passed", "duration": 0.0002891480000073443}, "lineno": 560, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_get_pick_from_arrival_on_copied_catalog_doesnt_warn", "outcome": "passed", "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.0001769589999867094}}, {"call": {"outcome": "passed", "duration": 0.012022209000008388}, "setup": {"outcome": "passed", "duration": 0.00032830100002456675}, "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.0001714390000131516}}, {"call": {"outcome": "passed", "duration": 0.0003627160000121421}, "setup": {"outcome": "passed", "duration": 0.00032098799999857874}, "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.00017047700001171506}}, {"call": {"outcome": "passed", "duration": 0.00041776800000548064}, "setup": {"outcome": "passed", "duration": 0.0002947079999842117}, "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.0001685539999982666}}, {"call": {"outcome": "passed", "duration": 0.0004168669999842223}, "setup": {"outcome": "passed", "duration": 0.0003000579999934416}, "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.00021640299999603485}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004638094000000592, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006832320000000891}, "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.0001856849999910537}}, {"call": {"outcome": "passed", "duration": 0.0009046739999973852}, "setup": {"outcome": "passed", "duration": 0.0003129819999969641}, "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.0001706679999813332}}, {"call": {"outcome": "passed", "duration": 0.000321708999990733}, "setup": {"outcome": "passed", "duration": 0.0003134430000102384}, "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.00016749199997434516}}, {"call": {"outcome": "passed", "duration": 0.6947462239999993}, "setup": {"outcome": "passed", "duration": 0.0004592450000018289}, "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.00032155899998542736}}, {"call": {"outcome": "passed", "duration": 0.5680488389999994}, "setup": {"outcome": "passed", "duration": 0.0005469179999977314}, "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.00030578900000932663}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009098129999927096, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000747391000004427}, "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.00018720799999982773}}, {"call": {"outcome": "passed", "duration": 0.0005716439999901013}, "setup": {"outcome": "passed", "duration": 0.00034177700001691846}, "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.00019353999999793814}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007661860000212073, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003515749999962736}, "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.00020674499998563078}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007327140000086274, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034809799998924973}, "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.00020008299998153234}}, {"call": {"outcome": "passed", "duration": 0.0014704470000026504}, "setup": {"outcome": "passed", "duration": 0.0003098869999860199}, "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.0001780919999987418}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007385449999901539, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000354770000001281}, "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.00018799000000058186}}, {"call": {"outcome": "passed", "duration": 0.0003856079999877693}, "setup": {"outcome": "passed", "duration": 0.00031525700001111545}, "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.00018391300000075717}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05487469800002032, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037036899999520756}, "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.00019541399998956877}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007421619999945506, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036720400001399867}, "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.00018993300000147428}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007247000000063508, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036618200002180856}, "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.00019045500002334848}}, {"call": {"outcome": "passed", "duration": 0.16262065399999415}, "setup": {"outcome": "passed", "duration": 0.00030410599998731414}, "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.00020612400001596143}}, {"call": {"outcome": "passed", "duration": 0.0018973020000032648}, "setup": {"outcome": "passed", "duration": 0.0003166799999974046}, "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.00018517500001280496}}, {"call": {"outcome": "passed", "duration": 0.004176444000023594}, "setup": {"outcome": "passed", "duration": 0.00036780400000679947}, "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.00018783900000585163}}, {"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.018735125000006292}, "setup": {"outcome": "passed", "duration": 0.00035442899999793553}, "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.00018994399999883171}}, {"call": {"outcome": "passed", "duration": 0.0076245620000179315}, "setup": {"outcome": "passed", "duration": 0.0003538470000137295}, "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.00018683700000110548}}, {"call": {"outcome": "passed", "duration": 0.028986396999982844}, "setup": {"outcome": "passed", "duration": 0.00035389800001439653}, "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.00031455399999913425}}, {"call": {"outcome": "passed", "duration": 0.5460474369999986}, "setup": {"outcome": "passed", "duration": 0.0007042089999913514}, "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.00032317000000148255}}, {"call": {"outcome": "passed", "duration": 0.6992099830000029}, "setup": {"outcome": "passed", "duration": 0.0005666540000106579}, "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.0003164279999907649}}, {"call": {"outcome": "passed", "duration": 0.05551922399999398}, "setup": {"outcome": "passed", "duration": 0.0004161640000006628}, "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.00018935200000669283}}, {"call": {"outcome": "passed", "duration": 0.11442029500000217}, "setup": {"outcome": "passed", "duration": 0.0003509020000080909}, "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.00020026299998221475}}, {"call": {"outcome": "passed", "duration": 0.0006258330000150636}, "setup": {"outcome": "passed", "duration": 0.000317449999982955}, "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.00025089599998295853}}, {"call": {"outcome": "passed", "duration": 0.00031195999997635226}, "setup": {"outcome": "passed", "duration": 0.0004687810000234549}, "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.00019617500001345434}}, {"call": {"outcome": "passed", "duration": 0.0004765459999873656}, "setup": {"outcome": "passed", "duration": 0.0002949179999802709}, "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.00019213699999909295}}, {"call": {"outcome": "passed", "duration": 0.0003226899999901889}, "setup": {"outcome": "passed", "duration": 0.00029975699999340577}, "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.00017148899999597234}}, {"call": {"outcome": "passed", "duration": 0.000267105999995465}, "setup": {"outcome": "passed", "duration": 0.0002878850000058719}, "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.0001660590000085449}}, {"call": {"outcome": "passed", "duration": 0.0008379380000178571}, "setup": {"outcome": "passed", "duration": 0.00035728400001744376}, "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.0001708479999820156}}, {"call": {"outcome": "passed", "duration": 0.0003004790000034063}, "setup": {"outcome": "passed", "duration": 0.0002915819999884661}, "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.00016878399998176974}}, {"call": {"outcome": "passed", "duration": 0.00031159899998556284}, "setup": {"outcome": "passed", "duration": 0.0002868539999951736}, "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.00016593899999861605}}, {"call": {"outcome": "passed", "duration": 0.0007611340000153177}, "setup": {"outcome": "passed", "duration": 0.000289146999989498}, "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.0001671500000099968}}, {"call": {"outcome": "passed", "duration": 0.0007951180000134173}, "setup": {"outcome": "passed", "duration": 0.0003090139999812891}, "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.00017041699999253979}}, {"call": {"outcome": "passed", "duration": 0.00030603799999084913}, "setup": {"outcome": "passed", "duration": 0.00030948500000249624}, "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.00018485399999690344}}, {"call": {"outcome": "passed", "duration": 0.00044087999998509986}, "setup": {"outcome": "passed", "duration": 0.00028881699998350996}, "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.00016572799998471055}}, {"call": {"outcome": "passed", "duration": 0.00023981600000411163}, "setup": {"outcome": "passed", "duration": 0.00028673299999582014}, "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.00018150799999716583}}, {"call": {"outcome": "passed", "duration": 0.00037985599999501574}, "setup": {"outcome": "passed", "duration": 0.00027941900000882924}, "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.00016495699998131386}}, {"call": {"outcome": "passed", "duration": 0.0003780829999868729}, "setup": {"outcome": "passed", "duration": 0.0003058879999855435}, "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.00019291799998200077}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021519000000012056, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003156560000263653}, "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.00018598599999108956}}, {"call": {"outcome": "passed", "duration": 0.00034648400000492074}, "setup": {"outcome": "passed", "duration": 0.00029865499999459644}, "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.00016786200001206453}}, {"call": {"outcome": "passed", "duration": 0.0003412650000029771}, "setup": {"outcome": "passed", "duration": 0.0005198670000083894}, "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.00017647799998599112}}, {"call": {"outcome": "passed", "duration": 0.0003430980000018735}, "setup": {"outcome": "passed", "duration": 0.0004373429999873224}, "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.00019284900000116068}}, {"call": {"outcome": "passed", "duration": 0.0007568570000273667}, "setup": {"outcome": "passed", "duration": 0.001562534000015603}, "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.00019780799999580267}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002033789999984492, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031652900000267437}, "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.00018713800000114134}}, {"call": {"outcome": "passed", "duration": 0.0010578660000248874}, "setup": {"outcome": "passed", "duration": 0.001961185000027399}, "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.00020655400001601265}}, {"call": {"outcome": "passed", "duration": 0.0004777480000086598}, "setup": {"outcome": "passed", "duration": 0.0018948519999923974}, "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.00022367600001871324}}, {"call": {"outcome": "passed", "duration": 0.0007807210000123632}, "setup": {"outcome": "passed", "duration": 0.0002964309999811121}, "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.00018865999999206906}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002031917000010708, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029868500001839493}, "lineno": 192, "nodeid": "core/tests/test_stream.py::TestStream::test_add_trace_to_stream", "outcome": "failed", "keywords": ["test_add_trace_to_stream", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018759899998599394}}, {"call": {"outcome": "passed", "duration": 0.0005316179999965698}, "setup": {"outcome": "passed", "duration": 0.0015172999999890635}, "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.0001972869999917748}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002127975000007609, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032036499999321677}, "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.00020533200000727447}}, {"call": {"outcome": "passed", "duration": 0.00040686699998104814}, "setup": {"outcome": "passed", "duration": 0.0014703530000019782}, "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.00018940199998951357}}, {"call": {"outcome": "passed", "duration": 0.0013220870000054674}, "setup": {"outcome": "passed", "duration": 0.001457308999988527}, "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.00019375100001184364}}, {"call": {"outcome": "passed", "duration": 0.0006725700000060897}, "setup": {"outcome": "passed", "duration": 0.0014868530000171631}, "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.0001935989999992671}}, {"call": {"outcome": "passed", "duration": 0.0009883369999954539}, "setup": {"outcome": "passed", "duration": 0.0003162680000059481}, "lineno": 356, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_multiplexed_streams", "outcome": "passed", "keywords": ["test_get_gaps_multiplexed_streams", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017092799998863484}}, {"call": {"outcome": "passed", "duration": 0.0013273870000034549}, "setup": {"outcome": "passed", "duration": 0.000291752999999062}, "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.00017455400001153976}}, {"call": {"outcome": "passed", "duration": 0.0014419499999860363}, "setup": {"outcome": "passed", "duration": 0.001468089000013606}, "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.000226792000006526}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002125621000004685, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029658100001483945}, "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.0001854749999949945}}, {"call": {"outcome": "passed", "duration": 0.00038569699998447504}, "setup": {"outcome": "passed", "duration": 0.00031732899998360153}, "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.00018819000001712993}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002038929999997663, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028834600001914623}, "lineno": 469, "nodeid": "core/tests/test_stream.py::TestStream::test_slice", "outcome": "failed", "keywords": ["test_slice", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018665700000042307}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022453130000030797, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003200249999792959}, "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.00020236600002476735}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022976399999947716, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029921700001978024}, "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.00018801900000653404}}, {"call": {"outcome": "passed", "duration": 0.00030165000001147746}, "setup": {"outcome": "passed", "duration": 0.00030372500000908076}, "lineno": 557, "nodeid": "core/tests/test_stream.py::TestStream::test_pop2", "outcome": "passed", "keywords": ["test_pop2", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017361199999754717}}, {"call": {"outcome": "passed", "duration": 0.0010021719999997458}, "setup": {"outcome": "passed", "duration": 0.0015104680000206372}, "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.00019438100000002123}}, {"call": {"outcome": "passed", "duration": 0.0012576270000010936}, "setup": {"outcome": "passed", "duration": 0.0014906110000083572}, "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.0002041799999972227}}, {"call": {"outcome": "passed", "duration": 0.00407562600000233}, "setup": {"outcome": "passed", "duration": 0.00031318200001351215}, "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.0001867770000103519}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002066390999999612, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030512800000792595}, "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.0002157209999893439}}, {"call": {"outcome": "passed", "duration": 0.0017924420000099417}, "setup": {"outcome": "passed", "duration": 0.00030176100000289807}, "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.0002037890000110565}}, {"call": {"outcome": "passed", "duration": 0.001374383999973361}, "setup": {"outcome": "passed", "duration": 0.00029676099998710015}, "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.0001709879999793884}}, {"call": {"outcome": "passed", "duration": 0.0012375700000006873}, "setup": {"outcome": "passed", "duration": 0.00030179099999827486}, "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.00021359699999834447}}, {"call": {"outcome": "passed", "duration": 0.003415418000003001}, "setup": {"outcome": "passed", "duration": 0.0002919329999997444}, "lineno": 881, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_different_calibration_factors", "outcome": "passed", "keywords": ["test_merge_with_different_calibration_factors", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018675700002290796}}, {"call": {"outcome": "passed", "duration": 0.003563263000017969}, "setup": {"outcome": "passed", "duration": 0.0002998980000086249}, "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.00018902099998285848}}, {"call": {"outcome": "passed", "duration": 0.0034716530000196144}, "setup": {"outcome": "passed", "duration": 0.00031709000001001186}, "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.00019049400000881178}}, {"call": {"outcome": "passed", "duration": 0.00243739999999093}, "setup": {"outcome": "passed", "duration": 0.0015235519999805547}, "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.0002309089999812386}}, {"call": {"outcome": "passed", "duration": 0.004408613999999034}, "setup": {"outcome": "passed", "duration": 0.0002999069999987114}, "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.00019224700000108896}}, {"call": {"outcome": "passed", "duration": 0.006161181999999599}, "setup": {"outcome": "passed", "duration": 0.0014640610000071774}, "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.0002124140000034913}}, {"call": {"outcome": "passed", "duration": 0.0058658030000060535}, "setup": {"outcome": "passed", "duration": 0.00033014399997455257}, "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.00018919200002187608}}, {"call": {"outcome": "passed", "duration": 0.00038752999998337145}, "setup": {"outcome": "passed", "duration": 0.0003206959999886294}, "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.0002008030000126837}}, {"call": {"outcome": "passed", "duration": 0.0016606169999988651}, "setup": {"outcome": "passed", "duration": 0.0002930549999859977}, "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.00020278700000631034}}, {"call": {"outcome": "passed", "duration": 0.012770205999999007}, "setup": {"outcome": "passed", "duration": 0.0002961799999923187}, "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.0002056220000099529}}, {"call": {"outcome": "passed", "duration": 0.016579577000015888}, "setup": {"outcome": "passed", "duration": 0.00030122999999093736}, "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.0002507760000014514}}, {"call": {"outcome": "passed", "duration": 0.0028794220000065707}, "setup": {"outcome": "passed", "duration": 0.0003608810000059748}, "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.000185926000000336}}, {"call": {"outcome": "passed", "duration": 0.009597818999992569}, "setup": {"outcome": "passed", "duration": 0.0002975829999911639}, "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.00020412000000646913}}, {"call": {"outcome": "passed", "duration": 0.0013245420000203012}, "setup": {"outcome": "passed", "duration": 0.0002954389999842988}, "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.0001842819999922085}}, {"call": {"outcome": "passed", "duration": 0.0015134230000057869}, "setup": {"outcome": "passed", "duration": 0.0003113380000172583}, "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.000182549000015797}}, {"call": {"outcome": "passed", "duration": 0.00041716500001598433}, "setup": {"outcome": "passed", "duration": 0.0002894670000159749}, "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.00017462400001022615}}, {"call": {"outcome": "passed", "duration": 0.002025744999997414}, "setup": {"outcome": "passed", "duration": 0.0002908310000009351}, "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.0002068539999982022}}, {"call": {"outcome": "passed", "duration": 0.0013775510000186841}, "setup": {"outcome": "passed", "duration": 0.00030301300000701303}, "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.00025153799998633986}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023397090000116805, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003023419999976795}, "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.00019291899999984707}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020120700000063607, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002990549999992709}, "lineno": 1429, "nodeid": "core/tests/test_stream.py::TestStream::test_read_write_pickle", "outcome": "failed", "keywords": ["test_read_write_pickle", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021172399999613845}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020194239999966612, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002999069999987114}, "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.00019910000000322725}}, {"call": {"outcome": "passed", "duration": 0.0014917729999979201}, "setup": {"outcome": "passed", "duration": 0.00032947200000421617}, "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.0001856850000194754}}, {"call": {"outcome": "passed", "duration": 0.00067951300002278}, "setup": {"outcome": "passed", "duration": 0.0003115189999789436}, "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.00018422300001930125}}, {"call": {"outcome": "passed", "duration": 0.0018479350000006889}, "setup": {"outcome": "passed", "duration": 0.0002920329999938076}, "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.000177771000011262}}, {"call": {"outcome": "passed", "duration": 0.009226819999980762}, "setup": {"outcome": "passed", "duration": 0.0002947270000106528}, "lineno": 1563, "nodeid": "core/tests/test_stream.py::TestStream::test_comparisons", "outcome": "passed", "keywords": ["test_comparisons", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001727410000000873}}, {"call": {"outcome": "passed", "duration": 0.0014542330000040238}, "setup": {"outcome": "passed", "duration": 0.00029981800000200565}, "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.0001853649999929985}}, {"call": {"outcome": "passed", "duration": 0.0020792349999965154}, "setup": {"outcome": "passed", "duration": 0.000310837999990099}, "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.00018281999999203435}}, {"call": {"outcome": "passed", "duration": 0.002767062999993186}, "setup": {"outcome": "passed", "duration": 0.00029862499999921965}, "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.00018646699999180782}}, {"call": {"outcome": "passed", "duration": 0.0018688739999959125}, "setup": {"outcome": "passed", "duration": 0.0003147550000051069}, "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.00017236100001127852}}, {"call": {"outcome": "passed", "duration": 0.002452218000001949}, "setup": {"outcome": "passed", "duration": 0.00029341499998736253}, "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.0001881390000164629}}, {"call": {"outcome": "passed", "duration": 0.004723999999981743}, "setup": {"outcome": "passed", "duration": 0.0003116289999809396}, "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.0001857549999897401}}, {"call": {"outcome": "passed", "duration": 0.016582002000006923}, "setup": {"outcome": "passed", "duration": 0.001544330000001537}, "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.00021502900000314185}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020206859999802873, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031852300000423384}, "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.00019467199999212426}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002033560000000989, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005164899999954287}, "lineno": 1888, "nodeid": "core/tests/test_stream.py::TestStream::test_read", "outcome": "failed", "keywords": ["test_read", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001980279999997947}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008149250000144548, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000489731000016036}, "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.00018668700002422156}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020483870000020943, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000314123999999083}, "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.00021224500000016633}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002230276000005915, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030076899997766304}, "lineno": 1987, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_empty_trace", "outcome": "failed", "keywords": ["test_merge_with_empty_trace", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019478199999412027}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002066390999999612, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032794899999544214}, "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.00021159400000669848}}, {"call": {"outcome": "passed", "duration": 0.22625686800000722}, "setup": {"outcome": "passed", "duration": 0.0014897890000042935}, "lineno": 2091, "nodeid": "core/tests/test_stream.py::TestStream::test_plot", "outcome": "passed", "keywords": ["test_plot", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025765899999896646}}, {"call": {"outcome": "passed", "duration": 0.3837678760000074}, "setup": {"outcome": "passed", "duration": 0.0017254869999874245}, "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.00026580400000852933}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024348859999747674, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003652489999979025}, "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.00020018200001459263}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020459929999958604, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003095449999932498}, "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.00019829799998660746}}, {"call": {"outcome": "passed", "duration": 0.02293651200000113}, "setup": {"outcome": "passed", "duration": 0.00032274999998094245}, "lineno": 2131, "nodeid": "core/tests/test_stream.py::TestStream::test_detrend", "outcome": "passed", "keywords": ["test_detrend", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000190464000013435}}, {"call": {"outcome": "passed", "duration": 0.00957496699999183}, "setup": {"outcome": "passed", "duration": 0.00032643700001244724}, "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.00018823000002043955}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020929100000159906, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003233209999962128}, "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.00019701599998711572}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020531159999848114, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003065100000014809}, "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.00018643699999643104}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022616130000017165, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029872499999328284}, "lineno": 2295, "nodeid": "core/tests/test_stream.py::TestStream::test_simulate_seedresp_parser", "outcome": "failed", "keywords": ["test_simulate_seedresp_parser", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019945099998608384}}, {"call": {"outcome": "passed", "duration": 0.0009533409999846754}, "setup": {"outcome": "passed", "duration": 0.0016822780000040893}, "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.00020411999997804742}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020562919999917995, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003253650000090147}, "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.0001889219999782199}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020382079999876623, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030104900000083035}, "lineno": 2374, "nodeid": "core/tests/test_stream.py::TestStream::test_attach_response_deprecated", "outcome": "failed", "keywords": ["test_attach_response_deprecated", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001898029999836126}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020448699999917608, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030853399999841713}, "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.0001866670000083559}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020187119999945935, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030048899998291745}, "lineno": 2402, "nodeid": "core/tests/test_stream.py::TestStream::test_interpolate", "outcome": "failed", "keywords": ["test_interpolate", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018905099997823527}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022120010000037382, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030702099999757593}, "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.00019090499998242194}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020230000000083237, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030086900000014793}, "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.00018612600001688406}}, {"call": {"outcome": "passed", "duration": 0.20951656200000457}, "setup": {"outcome": "passed", "duration": 0.0003016009999896596}, "lineno": 2441, "nodeid": "core/tests/test_stream.py::TestStream::test_misaligned_traces", "outcome": "passed", "keywords": ["test_misaligned_traces", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002456069999823285}}, {"call": {"outcome": "passed", "duration": 0.03580976099999589}, "setup": {"outcome": "passed", "duration": 0.0003599089999966054}, "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.00018704799998658928}}, {"call": {"outcome": "passed", "duration": 0.0031899790000124995}, "setup": {"outcome": "passed", "duration": 0.00030253200000629477}, "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.00018912100000534338}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002312928999998576, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003004980000014257}, "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.00020241600000758808}}, {"call": {"outcome": "passed", "duration": 0.01524774099999604}, "setup": {"outcome": "passed", "duration": 0.00029893500001776374}, "lineno": 2662, "nodeid": "core/tests/test_stream.py::TestStream::test_read_check_compression", "outcome": "passed", "keywords": ["test_read_check_compression", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000190574000015431}}, {"call": {"outcome": "passed", "duration": 0.14937826199999904}, "setup": {"outcome": "passed", "duration": 0.0003096050000124251}, "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.00019762799999512026}}, {"call": {"outcome": "passed", "duration": 0.2171499499999925}, "setup": {"outcome": "passed", "duration": 0.0003142840000123215}, "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.00023900400000798072}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025281789999951343, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003764600000124574}, "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.00022786299999211224}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021591929999829063, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003223189999914666}, "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.00020397899999125002}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002320362000006071, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003197039999918161}, "lineno": 2852, "nodeid": "core/tests/test_stream.py::TestStream::test_filter_ftype", "outcome": "failed", "keywords": ["test_filter_ftype", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001996109999993223}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002078863999997793, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003348719999962668}, "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.00019832899999983056}}, {"call": {"outcome": "passed", "duration": 0.0048316099999965445}, "setup": {"outcome": "passed", "duration": 0.0017795869999872593}, "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.00021696300001394775}}, {"call": {"outcome": "passed", "duration": 0.0050539540000045236}, "setup": {"outcome": "passed", "duration": 0.0015166889999989053}, "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.0002749809999897934}}, {"call": {"outcome": "passed", "duration": 0.00040198700000360077}, "setup": {"outcome": "passed", "duration": 0.00047548400002028757}, "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.0002042190000111077}}, {"call": {"outcome": "passed", "duration": 0.00047407099998508784}, "setup": {"outcome": "passed", "duration": 0.00029205199999182696}, "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.00017613700001106736}}, {"call": {"outcome": "passed", "duration": 0.0002673369999968145}, "setup": {"outcome": "passed", "duration": 0.00028936700002191174}, "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.00017750999998611405}}, {"call": {"outcome": "passed", "duration": 0.0007872230000032232}, "setup": {"outcome": "passed", "duration": 0.00028859599999009333}, "lineno": 83, "nodeid": "core/tests/test_trace.py::TestTrace::test_mul", "outcome": "passed", "keywords": ["test_mul", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017841100000737242}}, {"call": {"outcome": "passed", "duration": 0.002831603000004179}, "setup": {"outcome": "passed", "duration": 0.0002894579999974667}, "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.0001869870000064111}}, {"call": {"outcome": "passed", "duration": 0.004042112999997016}, "setup": {"outcome": "passed", "duration": 0.0002976229999944735}, "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.0001883599999814578}}, {"call": {"outcome": "passed", "duration": 0.0027509530000031646}, "setup": {"outcome": "passed", "duration": 0.0003195339999990665}, "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.00020469100002173946}}, {"call": {"outcome": "passed", "duration": 0.0017715130000226509}, "setup": {"outcome": "passed", "duration": 0.0003247740000063004}, "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.00018615599998383914}}, {"call": {"outcome": "passed", "duration": 0.0011066569999798048}, "setup": {"outcome": "passed", "duration": 0.0003217779999999948}, "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.00018448299999818119}}, {"call": {"outcome": "passed", "duration": 0.0005956779999962691}, "setup": {"outcome": "passed", "duration": 0.000296531000003597}, "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.00018271899998012486}}, {"call": {"outcome": "passed", "duration": 0.0013761379999834844}, "setup": {"outcome": "passed", "duration": 0.00029190299997594593}, "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.0001896920000206137}}, {"call": {"outcome": "passed", "duration": 0.0010235729999976684}, "setup": {"outcome": "passed", "duration": 0.00029879599998139383}, "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.00018113600000901897}}, {"call": {"outcome": "passed", "duration": 0.0008719310000060432}, "setup": {"outcome": "passed", "duration": 0.00031697899999016954}, "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.00018669700000373268}}, {"call": {"outcome": "passed", "duration": 0.0018508699999983946}, "setup": {"outcome": "passed", "duration": 0.0003184120000128132}, "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.00019023400000151014}}, {"call": {"outcome": "passed", "duration": 0.0023151430000041273}, "setup": {"outcome": "passed", "duration": 0.000302553000011585}, "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.00019063400000618458}}, {"call": {"outcome": "passed", "duration": 0.00836064000000647}, "setup": {"outcome": "passed", "duration": 0.0002975839999805885}, "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.0001905039999883229}}, {"call": {"outcome": "passed", "duration": 0.0010635870000044179}, "setup": {"outcome": "passed", "duration": 0.0003065900000081001}, "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.0002432919999932892}}, {"call": {"outcome": "passed", "duration": 0.007886890000008862}, "setup": {"outcome": "passed", "duration": 0.00029450799999608535}, "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.0001902539999889541}}, {"call": {"outcome": "passed", "duration": 0.0019058029999996506}, "setup": {"outcome": "passed", "duration": 0.00031658800000400333}, "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.00018569600001683284}}, {"call": {"outcome": "passed", "duration": 0.0035967560000074172}, "setup": {"outcome": "passed", "duration": 0.0003204459999892606}, "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.0001836809999815614}}, {"call": {"outcome": "passed", "duration": 0.0016562179999937143}, "setup": {"outcome": "passed", "duration": 0.0002960099999995691}, "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.00020459099999925456}}, {"call": {"outcome": "passed", "duration": 0.2152706380000211}, "setup": {"outcome": "passed", "duration": 0.0002944580000132646}, "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.0002264109999998709}}, {"call": {"outcome": "passed", "duration": 0.0006697449999819582}, "setup": {"outcome": "passed", "duration": 0.00036582000001317283}, "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.0001805859999990389}}, {"call": {"outcome": "passed", "duration": 0.0051210889999993014}, "setup": {"outcome": "passed", "duration": 0.0002929849999873113}, "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.00018683700000110548}}, {"call": {"outcome": "passed", "duration": 0.0020317660000159776}, "setup": {"outcome": "passed", "duration": 0.0002964610000049106}, "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.00018303999999602638}}, {"call": {"outcome": "passed", "duration": 0.002078372999989142}, "setup": {"outcome": "passed", "duration": 0.000309514999997873}, "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.00018066600000565813}}, {"call": {"outcome": "passed", "duration": 0.0019347760000130165}, "setup": {"outcome": "passed", "duration": 0.0002930139999932635}, "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.00017964400001346803}}, {"call": {"outcome": "passed", "duration": 0.0029974019999770007}, "setup": {"outcome": "passed", "duration": 0.0002914220000036494}, "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.00018496299998105314}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023302510000178245, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002962799999863819}, "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.00019825800001171956}}, {"call": {"outcome": "passed", "duration": 0.004108876999993072}, "setup": {"outcome": "passed", "duration": 0.0003018110000141405}, "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.00018908100000203376}}, {"call": {"outcome": "passed", "duration": 0.008764811000020245}, "setup": {"outcome": "passed", "duration": 0.00029602999998701307}, "lineno": 1243, "nodeid": "core/tests/test_trace.py::TestTrace::test_differentiate", "outcome": "passed", "keywords": ["test_differentiate", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019309900000052949}}, {"call": {"outcome": "passed", "duration": 0.008734935999996196}, "setup": {"outcome": "passed", "duration": 0.00032907199999954173}, "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.00019667500001219196}}, {"call": {"outcome": "passed", "duration": 0.012000765999999885}, "setup": {"outcome": "passed", "duration": 0.0003372569999839925}, "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.00019270799998594157}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002363181999982089, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031190999999353153}, "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.00018861100002709463}}, {"call": {"outcome": "passed", "duration": 0.00038523599999962244}, "setup": {"outcome": "passed", "duration": 0.00033534299998905226}, "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.00020299700000236953}}, {"call": {"outcome": "passed", "duration": 0.0011876669999821843}, "setup": {"outcome": "passed", "duration": 0.0002975129999924775}, "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.00018247899998868888}}, {"call": {"outcome": "passed", "duration": 0.009786149000007072}, "setup": {"outcome": "passed", "duration": 0.0003169290000073488}, "lineno": 1349, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper_onesided", "outcome": "passed", "keywords": ["test_taper_onesided", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019668599998112768}}, {"call": {"outcome": "passed", "duration": 0.00449417300001187}, "setup": {"outcome": "passed", "duration": 0.0003182719999870187}, "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.00018685699998854943}}, {"call": {"outcome": "passed", "duration": 0.00224142600001187}, "setup": {"outcome": "passed", "duration": 0.00029672200000163684}, "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.00019030400000019654}}, {"call": {"outcome": "passed", "duration": 0.0005811700000037945}, "setup": {"outcome": "passed", "duration": 0.00030006800000137446}, "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.00017891299998495924}}, {"call": {"outcome": "passed", "duration": 0.06090886300000875}, "setup": {"outcome": "passed", "duration": 0.0003141539999944598}, "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.00022084100001507068}}, {"call": {"outcome": "passed", "duration": 0.06251466700001629}, "setup": {"outcome": "passed", "duration": 0.0003794950000042263}, "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.00022908600001869672}}, {"call": {"outcome": "passed", "duration": 0.0005370179999886204}, "setup": {"outcome": "passed", "duration": 0.0003678429999922628}, "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.00018082599999047488}}, {"call": {"outcome": "passed", "duration": 0.0018310430000099132}, "setup": {"outcome": "passed", "duration": 0.00029569899999160043}, "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.0001857860000029632}}, {"call": {"outcome": "passed", "duration": 0.0004440849999980401}, "setup": {"outcome": "passed", "duration": 0.0003021509999996397}, "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.0001788630000021385}}, {"call": {"outcome": "passed", "duration": 0.0011864950000131103}, "setup": {"outcome": "passed", "duration": 0.00031255099997906655}, "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.00018277899999930014}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022867699999835622, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002940360000138753}, "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.0002617060000034144}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002235365000018419, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030299299999114737}, "lineno": 1598, "nodeid": "core/tests/test_trace.py::TestTrace::test_issue_540", "outcome": "failed", "keywords": ["test_issue_540", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000186566999985871}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020353239999906236, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002989550000052077}, "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.00019447199997557618}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002024392999999236, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032193900000265785}, "lineno": 1658, "nodeid": "core/tests/test_trace.py::TestTrace::test_method_chaining", "outcome": "failed", "keywords": ["test_method_chaining", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002080169999771897}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002049128999999539, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030371400001172333}, "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.00019695599999636215}}, {"call": {"outcome": "passed", "duration": 0.00033715700001835103}, "setup": {"outcome": "passed", "duration": 0.00032492400001160604}, "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.00019488200001660516}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002028840999997783, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002893280000080267}, "lineno": 1727, "nodeid": "core/tests/test_trace.py::TestTrace::test_remove_response", "outcome": "failed", "keywords": ["test_remove_response", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019655500000226311}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020745359999807533, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009765549999940504}, "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.00018872000001124434}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020606200000088393, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034050400000751324}, "lineno": 1776, "nodeid": "core/tests/test_trace.py::TestTrace::test_processing_info_remove_response_and_sensitivity", "outcome": "failed", "keywords": ["test_processing_info_remove_response_and_sensitivity", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019452099999739403}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002304744000014125, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030083900000477115}, "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.00018852100001254257}}, {"call": {"outcome": "passed", "duration": 0.0014269819999981337}, "setup": {"outcome": "passed", "duration": 0.0003254650000030779}, "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.0001902539999889541}}, {"call": {"outcome": "passed", "duration": 0.00029173200002219346}, "setup": {"outcome": "passed", "duration": 0.0002970920000109345}, "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.0001757670000017697}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006430551999983436, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002897379999922123}, "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.00018778899999460918}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020688550000045325, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1983, in test_interpolation_time_shift\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003183009999929709}, "lineno": 1978, "nodeid": "core/tests/test_trace.py::TestTrace::test_interpolation_time_shift", "outcome": "failed", "keywords": ["test_interpolation_time_shift", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000188038999993978}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022988330000259793, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029964699999140976}, "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.0001910950000194589}}, {"call": {"outcome": "passed", "duration": 0.01771676999999272}, "setup": {"outcome": "passed", "duration": 0.0003122809999922538}, "lineno": 2101, "nodeid": "core/tests/test_trace.py::TestTrace::test_resample_new", "outcome": "passed", "keywords": ["test_resample_new", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001956030000087594}}, {"call": {"outcome": "passed", "duration": 0.012273292999992691}, "setup": {"outcome": "passed", "duration": 0.0003045569999926556}, "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.00018999400001007416}}, {"call": {"outcome": "passed", "duration": 0.0019512570000017604}, "setup": {"outcome": "passed", "duration": 0.0003004289999921639}, "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.00018833000001450273}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011432150000132424, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004474410000057105}, "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.00038685900000245965}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0043985450000150195, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032340999999291853}, "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.00018774899999129957}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020512529999905382, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003219490000105907}, "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.000193770000009863}}, {"call": {"outcome": "passed", "duration": 0.004024391000001515}, "setup": {"outcome": "passed", "duration": 0.00030186099999696125}, "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.0002035880000050838}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002270328999998128, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029964699999140976}, "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.0001961940000114737}}, {"call": {"outcome": "passed", "duration": 0.0005198359999951663}, "setup": {"outcome": "passed", "duration": 0.0003219280000053004}, "lineno": 2598, "nodeid": "core/tests/test_trace.py::TestTrace::test_set_trace_id", "outcome": "passed", "keywords": ["test_set_trace_id", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001803050000148687}}, {"call": {"outcome": "passed", "duration": 0.00034827800001835385}, "setup": {"outcome": "passed", "duration": 0.00029314500000054977}, "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.00017842200000472985}}, {"call": {"outcome": "passed", "duration": 0.0006287090000114404}, "setup": {"outcome": "passed", "duration": 0.0002957289999869772}, "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.00018527500000686814}}, {"call": {"outcome": "passed", "duration": 0.0008254840000176955}, "setup": {"outcome": "passed", "duration": 0.00030133999999293337}, "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.0001861759999997048}}, {"call": {"outcome": "passed", "duration": 0.0007959900000003017}, "setup": {"outcome": "passed", "duration": 0.00029925699999466815}, "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.00018412299999681636}}, {"call": {"outcome": "passed", "duration": 0.00039955400001190355}, "setup": {"outcome": "passed", "duration": 0.0002959400000008827}, "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.00018010499999832064}}, {"call": {"outcome": "passed", "duration": 0.0003830029999960516}, "setup": {"outcome": "passed", "duration": 0.00028873700000531244}, "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.00018165800000247145}}, {"call": {"outcome": "passed", "duration": 0.0007808029999978316}, "setup": {"outcome": "passed", "duration": 0.0002984950000097797}, "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.0001845940000180235}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020273819999943044, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029659099999435057}, "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.00018794999999727224}}, {"call": {"outcome": "passed", "duration": 0.15188372399998684}, "setup": {"outcome": "passed", "duration": 0.0003014910000160853}, "lineno": 2738, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper_scipy_plugins", "outcome": "passed", "keywords": ["test_taper_scipy_plugins", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002652039999873068}}, {"call": {"outcome": "passed", "duration": 0.0015903089999937947}, "setup": {"outcome": "passed", "duration": 0.0004149320000124135}, "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.00017779099999870596}}, {"call": {"outcome": "passed", "duration": 0.0006604589999881227}, "setup": {"outcome": "passed", "duration": 0.00032286100000078477}, "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.0001721799999927498}}, {"call": {"outcome": "passed", "duration": 0.0003528370000083214}, "setup": {"outcome": "passed", "duration": 0.000315776999997297}, "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.00018626700000368146}}, {"call": {"outcome": "passed", "duration": 0.0003366969999945013}, "setup": {"outcome": "passed", "duration": 0.00029588099999955375}, "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.00016710200000602526}}, {"call": {"outcome": "passed", "duration": 0.0024402000000236512}, "setup": {"outcome": "passed", "duration": 0.0003095059999793648}, "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.00019104500000821645}}, {"call": {"outcome": "passed", "duration": 0.003276456999998345}, "setup": {"outcome": "passed", "duration": 0.00029605100002072504}, "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.00017542700001627054}}, {"call": {"outcome": "passed", "duration": 0.0033248869999908948}, "setup": {"outcome": "passed", "duration": 0.00031873300000029303}, "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.00019360999999662454}}, {"call": {"outcome": "passed", "duration": 0.0004406099999982871}, "setup": {"outcome": "passed", "duration": 0.00029974800000331925}, "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.0001717600000006314}}, {"call": {"outcome": "passed", "duration": 0.00028287599999998747}, "setup": {"outcome": "passed", "duration": 0.0002988859999959459}, "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.0001706679999813332}}, {"call": {"outcome": "passed", "duration": 0.0005818520000104854}, "setup": {"outcome": "passed", "duration": 0.0002890670000113005}, "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.0001685240000028898}}, {"call": {"outcome": "passed", "duration": 0.00039181900001494796}, "setup": {"outcome": "passed", "duration": 0.00029039999998303756}, "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.00016741199999614764}}, {"call": {"outcome": "passed", "duration": 0.00025884100000439503}, "setup": {"outcome": "passed", "duration": 0.00030830399998649227}, "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.0001657790000137993}}, {"call": {"outcome": "passed", "duration": 0.00026771799997504786}, "setup": {"outcome": "passed", "duration": 0.0002877350000005663}, "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.00017065699998397577}}, {"call": {"outcome": "passed", "duration": 0.0008284520000074735}, "setup": {"outcome": "passed", "duration": 0.0003075019999982942}, "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.00017098899999723471}}, {"call": {"outcome": "passed", "duration": 0.0003915979999931096}, "setup": {"outcome": "passed", "duration": 0.00030969699997740463}, "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.0001673920000087037}}, {"call": {"outcome": "passed", "duration": 0.0003715510000006361}, "setup": {"outcome": "passed", "duration": 0.00028646299998058566}, "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.00016647000001057677}}, {"call": {"outcome": "passed", "duration": 0.0005730059999962123}, "setup": {"outcome": "passed", "duration": 0.0003044869999939692}, "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.0001716189999854123}}, {"call": {"outcome": "passed", "duration": 0.00031972499999710635}, "setup": {"outcome": "passed", "duration": 0.0002928749999853153}, "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.00016791300001273157}}, {"call": {"outcome": "passed", "duration": 0.0003668330000152764}, "setup": {"outcome": "passed", "duration": 0.0002911809999943671}, "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.00017083799997408278}}, {"call": {"outcome": "passed", "duration": 0.0005285840000226472}, "setup": {"outcome": "passed", "duration": 0.000288867999984177}, "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.00016803300002266042}}, {"call": {"outcome": "passed", "duration": 0.000484251999978369}, "setup": {"outcome": "passed", "duration": 0.00028940800001464595}, "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.00017028600001367522}}, {"call": {"outcome": "passed", "duration": 0.0003800270000056116}, "setup": {"outcome": "passed", "duration": 0.00030805300002612057}, "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.00018771999998534739}}, {"call": {"outcome": "passed", "duration": 0.0004377550000072006}, "setup": {"outcome": "passed", "duration": 0.0002881960000138406}, "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.00016779200001337813}}, {"call": {"outcome": "passed", "duration": 0.0008017320000135442}, "setup": {"outcome": "passed", "duration": 0.00029151300000762603}, "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.00016931499999373045}}, {"call": {"outcome": "passed", "duration": 0.0005532990000176596}, "setup": {"outcome": "passed", "duration": 0.00029612100001941144}, "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.0001685229999850435}}, {"call": {"outcome": "passed", "duration": 0.0005349549999777992}, "setup": {"outcome": "passed", "duration": 0.0003086549999977706}, "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.0001834710000139239}}, {"call": {"outcome": "passed", "duration": 0.0007736190000002807}, "setup": {"outcome": "passed", "duration": 0.0002840080000225953}, "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.00018155800000840827}}, {"call": {"outcome": "passed", "duration": 0.0007767849999993359}, "setup": {"outcome": "passed", "duration": 0.00036413800000900665}, "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.0001852950000227338}}, {"call": {"outcome": "passed", "duration": 0.0007770249999907719}, "setup": {"outcome": "passed", "duration": 0.00028477000000748376}, "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.0001824489999933121}}, {"call": {"outcome": "passed", "duration": 0.0007749920000037491}, "setup": {"outcome": "passed", "duration": 0.00028799500000786793}, "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.0001656379999985802}}, {"call": {"outcome": "passed", "duration": 0.00031976500000041597}, "setup": {"outcome": "passed", "duration": 0.0002935059999913392}, "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.00016951599999970313}}, {"call": {"outcome": "passed", "duration": 0.00025100700000280085}, "setup": {"outcome": "passed", "duration": 0.00030850400000304035}, "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.00016596899999399284}}, {"call": {"outcome": "passed", "duration": 0.00026651599998217534}, "setup": {"outcome": "passed", "duration": 0.00028883800001722193}, "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.00016669999999407992}}, {"call": {"outcome": "passed", "duration": 0.0005583390000083455}, "setup": {"outcome": "passed", "duration": 0.00028290600002378596}, "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.0001664090000019769}}, {"call": {"outcome": "passed", "duration": 0.00027189599998678204}, "setup": {"outcome": "passed", "duration": 0.000292946000001848}, "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.00016460600002687897}}, {"call": {"outcome": "passed", "duration": 0.000640681999982462}, "setup": {"outcome": "passed", "duration": 0.0003010299999743893}, "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.00016643999998677828}}, {"call": {"outcome": "passed", "duration": 0.000632125999999289}, "setup": {"outcome": "passed", "duration": 0.00028174400000580135}, "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.00016688100001260864}}, {"call": {"outcome": "passed", "duration": 0.002340215000003809}, "setup": {"outcome": "passed", "duration": 0.0002874550000058207}, "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.0001717190000078972}}, {"call": {"outcome": "passed", "duration": 0.0003697079999938069}, "setup": {"outcome": "passed", "duration": 0.00031518599999458274}, "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.00019040399999425972}}, {"call": {"outcome": "passed", "duration": 0.0002505970000186153}, "setup": {"outcome": "passed", "duration": 0.0002894689999948241}, "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.0001649359999760236}}, {"call": {"outcome": "passed", "duration": 0.00024485499997695115}, "setup": {"outcome": "passed", "duration": 0.0003022719999989931}, "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.00023915500000271095}}, {"call": {"outcome": "passed", "duration": 0.0002637610000135737}, "setup": {"outcome": "passed", "duration": 0.0002887569999927564}, "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.00016386400000101276}}, {"call": {"outcome": "passed", "duration": 0.00030094900000676716}, "setup": {"outcome": "passed", "duration": 0.00031384400000433743}, "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.00016629899999998088}}, {"call": {"outcome": "passed", "duration": 0.001065672000009954}, "setup": {"outcome": "passed", "duration": 0.0002919529999871884}, "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.00018422299999087954}}, {"call": {"outcome": "passed", "duration": 0.0003286319999915577}, "setup": {"outcome": "passed", "duration": 0.0002873139999906016}, "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.00016621000000327513}}, {"call": {"outcome": "passed", "duration": 0.00036712299998953313}, "setup": {"outcome": "passed", "duration": 0.0003054679999934251}, "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.0001854349999916849}}, {"call": {"outcome": "passed", "duration": 0.08005173399999421}, "setup": {"outcome": "passed", "duration": 0.0002852410000002692}, "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.00018632600000501043}}, {"call": {"outcome": "passed", "duration": 0.0005094280000150775}, "setup": {"outcome": "passed", "duration": 0.0002951189999862436}, "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.00017759099998215788}}, {"call": {"outcome": "passed", "duration": 0.0007766249999860975}, "setup": {"outcome": "passed", "duration": 0.0002984759999833386}, "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.0001802660000009837}}, {"call": {"outcome": "passed", "duration": 0.0004243200000075831}, "setup": {"outcome": "passed", "duration": 0.0002909110000075543}, "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.00017820100001131323}}, {"call": {"outcome": "passed", "duration": 0.0006365049999885741}, "setup": {"outcome": "passed", "duration": 0.00030826399998318266}, "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.0001775599999973565}}, {"call": {"outcome": "passed", "duration": 0.00031416400000239264}, "setup": {"outcome": "passed", "duration": 0.00028660300000638017}, "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.0001755570000057105}}, {"call": {"outcome": "passed", "duration": 0.0004083199999911358}, "setup": {"outcome": "passed", "duration": 0.00035921899998925255}, "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.00018025500000362626}}, {"call": {"outcome": "passed", "duration": 0.00042054200000052333}, "setup": {"outcome": "passed", "duration": 0.00030948599999192083}, "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.0002420200000017303}}, {"call": {"outcome": "passed", "duration": 0.0002790099999856466}, "setup": {"outcome": "passed", "duration": 0.00029033000001277287}, "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.0001652480000018386}}, {"call": {"outcome": "passed", "duration": 0.0003086250000023938}, "setup": {"outcome": "passed", "duration": 0.0002855509999903916}, "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.0001836120000007213}}, {"call": {"outcome": "passed", "duration": 0.00047337099999822385}, "setup": {"outcome": "passed", "duration": 0.0002810930000123335}, "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.00016702099998155973}}, {"call": {"outcome": "passed", "duration": 0.00033013499998446605}, "setup": {"outcome": "passed", "duration": 0.00028614299998253045}, "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.000167081000000735}}, {"call": {"outcome": "passed", "duration": 0.005229660999987118}, "setup": {"outcome": "passed", "duration": 0.00028198500001508364}, "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.00017079799999919487}}, {"call": {"outcome": "passed", "duration": 0.0003514340000094762}, "setup": {"outcome": "passed", "duration": 0.00032324200000743986}, "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.00018359199998485565}}, {"call": {"outcome": "passed", "duration": 0.0016063189999897531}, "setup": {"outcome": "passed", "duration": 0.00028349800001592484}, "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.00017878299999551928}}, {"call": {"outcome": "passed", "duration": 0.00024702900000761474}, "setup": {"outcome": "passed", "duration": 0.0002915119999897797}, "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.00016788199999950848}}, {"call": {"outcome": "passed", "duration": 0.00031846199999563396}, "setup": {"outcome": "passed", "duration": 0.000291112000013527}, "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.00016471600000045328}}, {"call": {"outcome": "passed", "duration": 0.00026686600000402905}, "setup": {"outcome": "passed", "duration": 0.00028835599999865735}, "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.0001712990000157788}}, {"call": {"outcome": "passed", "duration": 0.00029123199999503413}, "setup": {"outcome": "passed", "duration": 0.00028451899999026864}, "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.00016413500000567183}}, {"call": {"outcome": "passed", "duration": 0.0010798400000169295}, "setup": {"outcome": "passed", "duration": 0.00034476199999744495}, "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.00017233099998748003}}, {"call": {"outcome": "passed", "duration": 0.0002902800000015304}, "setup": {"outcome": "passed", "duration": 0.0002961010000035458}, "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.00016817300002003321}}, {"call": {"outcome": "passed", "duration": 0.00034103400000162765}, "setup": {"outcome": "passed", "duration": 0.00028413900000145986}, "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.00016670099998350452}}, {"call": {"outcome": "passed", "duration": 0.0007477310000183479}, "setup": {"outcome": "passed", "duration": 0.0002877750000038759}, "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.00017064799999388924}}, {"call": {"outcome": "passed", "duration": 0.0006044550000012805}, "setup": {"outcome": "passed", "duration": 0.0002882969999973284}, "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.00017022700001234625}}, {"call": {"outcome": "passed", "duration": 0.00027895899998497953}, "setup": {"outcome": "passed", "duration": 0.00031203099999288497}, "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.00016642899998942084}}, {"call": {"outcome": "passed", "duration": 0.0008797869999739305}, "setup": {"outcome": "passed", "duration": 0.00028564200002278994}, "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.0001830100000006496}}, {"call": {"outcome": "passed", "duration": 0.0005122329999949216}, "setup": {"outcome": "passed", "duration": 0.000289278000025206}, "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.00016935500002546178}}, {"call": {"outcome": "passed", "duration": 0.0005552840000007109}, "setup": {"outcome": "passed", "duration": 0.0002923140000063995}, "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.0001688739999963218}}, {"call": {"outcome": "passed", "duration": 0.0003656700000078672}, "setup": {"outcome": "passed", "duration": 0.00041935000001558365}, "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.00020862799999576964}}, {"call": {"outcome": "passed", "duration": 0.00035690400000021327}, "setup": {"outcome": "passed", "duration": 0.0004235880000180714}, "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.00019125599999370024}}, {"call": {"outcome": "passed", "duration": 0.0003642880000143123}, "setup": {"outcome": "passed", "duration": 0.0003880320000178017}, "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.00019042400001012538}}, {"call": {"outcome": "passed", "duration": 0.00034370999998145635}, "setup": {"outcome": "passed", "duration": 0.0004040009999926042}, "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.00020610400000009577}}, {"call": {"outcome": "passed", "duration": 0.0003588170000057289}, "setup": {"outcome": "passed", "duration": 0.00037943499998505104}, "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.0001890620000040144}}, {"call": {"outcome": "passed", "duration": 0.00033966199998758384}, "setup": {"outcome": "passed", "duration": 0.0003828930000224773}, "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.00018961300000341907}}, {"call": {"outcome": "passed", "duration": 0.00033796900001448194}, "setup": {"outcome": "passed", "duration": 0.00040032400002587565}, "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.00018691800002557102}}, {"call": {"outcome": "passed", "duration": 0.0003620139999895855}, "setup": {"outcome": "passed", "duration": 0.0003867400000103771}, "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.00018952300001728872}}, {"call": {"outcome": "passed", "duration": 0.00034649399998443187}, "setup": {"outcome": "passed", "duration": 0.00040422200001444253}, "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.00019178599998781465}}, {"call": {"outcome": "passed", "duration": 0.00034479200002124344}, "setup": {"outcome": "passed", "duration": 0.0003810999999984688}, "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.00018760900002234848}}, {"call": {"outcome": "passed", "duration": 0.00035998999999264925}, "setup": {"outcome": "passed", "duration": 0.00038116899997930886}, "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.00018658700000173667}}, {"call": {"outcome": "passed", "duration": 0.0003418359999898257}, "setup": {"outcome": "passed", "duration": 0.00040172799998572373}, "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.00020390899999256362}}, {"call": {"outcome": "passed", "duration": 0.00035932899999124857}, "setup": {"outcome": "passed", "duration": 0.0003795570000022508}, "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.00018647699999974066}}, {"call": {"outcome": "passed", "duration": 0.0003724830000066959}, "setup": {"outcome": "passed", "duration": 0.00040651599999819155}, "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.0001905050000061692}}, {"call": {"outcome": "passed", "duration": 0.0003445709999994051}, "setup": {"outcome": "passed", "duration": 0.000402027999996335}, "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.00020607300001529438}}, {"call": {"outcome": "passed", "duration": 0.0003652489999979025}, "setup": {"outcome": "passed", "duration": 0.00039034699997841926}, "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.0001865970000096695}}, {"call": {"outcome": "passed", "duration": 0.0003374979999932748}, "setup": {"outcome": "passed", "duration": 0.00038048799999046423}, "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.0001871579999885853}}, {"call": {"outcome": "passed", "duration": 0.00034768699998721786}, "setup": {"outcome": "passed", "duration": 0.00046415400001365015}, "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.00020477099999993698}}, {"call": {"outcome": "passed", "duration": 0.0003606710000099156}, "setup": {"outcome": "passed", "duration": 0.0003837439999756498}, "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.0001876900000183923}}, {"call": {"outcome": "passed", "duration": 0.00033842999999933454}, "setup": {"outcome": "passed", "duration": 0.00038113000002226727}, "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.00018509500000618573}}, {"call": {"outcome": "passed", "duration": 0.00034486200001992984}, "setup": {"outcome": "passed", "duration": 0.00039966399998547786}, "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.00018730800002231263}}, {"call": {"outcome": "passed", "duration": 0.00035693399999559006}, "setup": {"outcome": "passed", "duration": 0.00037563899999781825}, "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.00018637700000567747}}, {"call": {"outcome": "passed", "duration": 0.00033899100000667204}, "setup": {"outcome": "passed", "duration": 0.0003999250000106258}, "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.00020402999999191707}}, {"call": {"outcome": "passed", "duration": 0.00034479199999282173}, "setup": {"outcome": "passed", "duration": 0.00037584899999387744}, "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.00018619599998714875}}, {"call": {"outcome": "passed", "duration": 0.0003377780000164421}, "setup": {"outcome": "passed", "duration": 0.00038144900000247617}, "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.00018862199999603035}}, {"call": {"outcome": "passed", "duration": 0.0003468559999930676}, "setup": {"outcome": "passed", "duration": 0.00040007500001593144}, "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.00018601599998646634}}, {"call": {"outcome": "passed", "duration": 0.000356183000008059}, "setup": {"outcome": "passed", "duration": 0.0003810990000090442}, "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.00018337099999143902}}, {"call": {"outcome": "passed", "duration": 0.00033790899999530666}, "setup": {"outcome": "passed", "duration": 0.0003964080000002923}, "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.00018868200001520563}}, {"call": {"outcome": "passed", "duration": 0.0003387910000185457}, "setup": {"outcome": "passed", "duration": 0.0003753379999977824}, "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.00018509400001676113}}, {"call": {"outcome": "passed", "duration": 0.00036308599999301805}, "setup": {"outcome": "passed", "duration": 0.00037813399998753994}, "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.00018559500000492335}}, {"call": {"outcome": "passed", "duration": 0.00033925099998555197}, "setup": {"outcome": "passed", "duration": 0.00040314000000307715}, "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.0002033680000010918}}, {"call": {"outcome": "passed", "duration": 0.0003588879999938399}, "setup": {"outcome": "passed", "duration": 0.0003759399999978541}, "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.00019849899999258014}}, {"call": {"outcome": "passed", "duration": 0.0003732240000147158}, "setup": {"outcome": "passed", "duration": 0.00041587399999798436}, "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.00018953300002522155}}, {"call": {"outcome": "passed", "duration": 0.00034113499998511543}, "setup": {"outcome": "passed", "duration": 0.00040204800001220065}, "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.0002042200000005323}}, {"call": {"outcome": "passed", "duration": 0.0003602510000177972}, "setup": {"outcome": "passed", "duration": 0.0003813200000024608}, "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.00018849099998874408}}, {"call": {"outcome": "passed", "duration": 0.00033871000002250184}, "setup": {"outcome": "passed", "duration": 0.00038122899999848414}, "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.00018884100001059778}}, {"call": {"outcome": "passed", "duration": 0.0003416159999858337}, "setup": {"outcome": "passed", "duration": 0.0004020380000042678}, "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.00018854099999998652}}, {"call": {"outcome": "passed", "duration": 0.00035967899998468056}, "setup": {"outcome": "passed", "duration": 0.00038104899999780173}, "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.00022014000001036038}}, {"call": {"outcome": "passed", "duration": 0.0003438299999913852}, "setup": {"outcome": "passed", "duration": 0.00040845000000899745}, "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.00025103699999817763}}, {"call": {"outcome": "passed", "duration": 0.0003423569999938536}, "setup": {"outcome": "passed", "duration": 0.00040496400001188704}, "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.00020359900000244124}}, {"call": {"outcome": "passed", "duration": 0.00035956899998268455}, "setup": {"outcome": "passed", "duration": 0.00038062799998783703}, "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.000186385999995764}}, {"call": {"outcome": "passed", "duration": 0.0003411849999963579}, "setup": {"outcome": "passed", "duration": 0.00040236899999968045}, "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.00018907099999410093}}, {"call": {"outcome": "passed", "duration": 0.00034275699999852804}, "setup": {"outcome": "passed", "duration": 0.00037427600000228267}, "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.00018785899999329558}}, {"call": {"outcome": "passed", "duration": 0.00035169400001677786}, "setup": {"outcome": "passed", "duration": 0.0006105859999934182}, "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.00018929200001593927}}, {"call": {"outcome": "passed", "duration": 0.0003660909999894102}, "setup": {"outcome": "passed", "duration": 0.00038812299999335664}, "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.00018810000000257787}}, {"call": {"outcome": "passed", "duration": 0.00034403000000793327}, "setup": {"outcome": "passed", "duration": 0.00040648600000281476}, "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.00020568300001855278}}, {"call": {"outcome": "passed", "duration": 0.0003648590000011609}, "setup": {"outcome": "passed", "duration": 0.00038097800000969073}, "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.00018737900001042362}}, {"call": {"outcome": "passed", "duration": 0.00034638400001085756}, "setup": {"outcome": "passed", "duration": 0.0003825520000191318}, "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.00018863100001453859}}, {"call": {"outcome": "passed", "duration": 0.00034455100001196115}, "setup": {"outcome": "passed", "duration": 0.0003996139999742354}, "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.00018737799999257732}}, {"call": {"outcome": "passed", "duration": 0.0004311819999998079}, "setup": {"outcome": "passed", "duration": 0.00038246200000457975}, "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.00019821800000840994}}, {"call": {"outcome": "passed", "duration": 0.0003450620000080562}, "setup": {"outcome": "passed", "duration": 0.00041123500000139757}, "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.0001892009999835409}}, {"call": {"outcome": "passed", "duration": 0.00034313899999460773}, "setup": {"outcome": "passed", "duration": 0.00039550600001803105}, "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.0001864570000122967}}, {"call": {"outcome": "passed", "duration": 0.00035932800000182397}, "setup": {"outcome": "passed", "duration": 0.0003823410000052263}, "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.0001858260000062728}}, {"call": {"outcome": "passed", "duration": 0.0003387399999894569}, "setup": {"outcome": "passed", "duration": 0.0004019379999817829}, "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.00020427999999128588}}, {"call": {"outcome": "passed", "duration": 0.00036087099999804195}, "setup": {"outcome": "passed", "duration": 0.000376810999995314}, "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.00018517499998438325}}, {"call": {"outcome": "passed", "duration": 0.0003374270000051638}, "setup": {"outcome": "passed", "duration": 0.00037946599999827413}, "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.00018711799998527567}}, {"call": {"outcome": "passed", "duration": 0.0003446409999980915}, "setup": {"outcome": "passed", "duration": 0.0003987320000078398}, "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.00018569499999898653}}, {"call": {"outcome": "passed", "duration": 0.0003604009999946811}, "setup": {"outcome": "passed", "duration": 0.0003825820000145086}, "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.00018665799998984767}}, {"call": {"outcome": "passed", "duration": 0.0003429180000011911}, "setup": {"outcome": "passed", "duration": 0.00040529399998945337}, "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.00020454100001643383}}, {"call": {"outcome": "passed", "duration": 0.0003478770000242548}, "setup": {"outcome": "passed", "duration": 0.000376881999983425}, "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.00018499399999427624}}, {"call": {"outcome": "passed", "duration": 0.0003401829999916117}, "setup": {"outcome": "passed", "duration": 0.00038076900000305614}, "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.00018742800000381976}}, {"call": {"outcome": "passed", "duration": 0.0003430980000018735}, "setup": {"outcome": "passed", "duration": 0.0004024979999996958}, "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.00018571499998643048}}, {"call": {"outcome": "passed", "duration": 0.0003618030000041017}, "setup": {"outcome": "passed", "duration": 0.0003887839999947573}, "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.00018549500001086017}}, {"call": {"outcome": "passed", "duration": 0.0003494199999920511}, "setup": {"outcome": "passed", "duration": 0.0004073370000128307}, "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.0001899039999955221}}, {"call": {"outcome": "passed", "duration": 0.0003479169999991427}, "setup": {"outcome": "passed", "duration": 0.00037943599997447564}, "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.00018868099999735932}}, {"call": {"outcome": "passed", "duration": 0.00037116999999398104}, "setup": {"outcome": "passed", "duration": 0.0003827220000118814}, "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.0001899040000239438}}, {"call": {"outcome": "passed", "duration": 0.0003483680000044842}, "setup": {"outcome": "passed", "duration": 0.00040933100001439016}, "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.00020844799999508723}}, {"call": {"outcome": "passed", "duration": 0.0003513940000061666}, "setup": {"outcome": "passed", "duration": 0.0003781830000093578}, "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.00018946200000868885}}, {"call": {"outcome": "passed", "duration": 0.00036346699999967313}, "setup": {"outcome": "passed", "duration": 0.00039504500000475673}, "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.00018829100000061771}}, {"call": {"outcome": "passed", "duration": 0.0003482280000071114}, "setup": {"outcome": "passed", "duration": 0.0004714880000165067}, "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.0002155109999932847}}, {"call": {"outcome": "passed", "duration": 0.00034778700000970275}, "setup": {"outcome": "passed", "duration": 0.0003805080000063299}, "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.00018716799999651812}}, {"call": {"outcome": "passed", "duration": 0.00035875800000439995}, "setup": {"outcome": "passed", "duration": 0.0003900460000068051}, "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.00018989299999816467}}, {"call": {"outcome": "passed", "duration": 0.0003449619999855713}, "setup": {"outcome": "passed", "duration": 0.0004042520000098193}, "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.00020764600000688915}}, {"call": {"outcome": "passed", "duration": 0.0003645490000110385}, "setup": {"outcome": "passed", "duration": 0.0003814599999998336}, "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.00019055399999956535}}, {"call": {"outcome": "passed", "duration": 0.00034353899999928217}, "setup": {"outcome": "passed", "duration": 0.00038565700000958714}, "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.00019079499998042593}}, {"call": {"outcome": "passed", "duration": 0.00034827799998993214}, "setup": {"outcome": "passed", "duration": 0.0004098420000104852}, "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.0001877289999754339}}, {"call": {"outcome": "passed", "duration": 0.00036319599999501406}, "setup": {"outcome": "passed", "duration": 0.0003857170000003407}, "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.000190114000020003}}, {"call": {"outcome": "passed", "duration": 0.0003706900000111091}, "setup": {"outcome": "passed", "duration": 0.0005121330000008584}, "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.00019103500000028362}}, {"call": {"outcome": "passed", "duration": 0.0003631360000042605}, "setup": {"outcome": "passed", "duration": 0.00040476300000591436}, "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.00020667399999751979}}, {"call": {"outcome": "passed", "duration": 0.00036108099999410115}, "setup": {"outcome": "passed", "duration": 0.000382943000005298}, "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.00018590599998447033}}, {"call": {"outcome": "passed", "duration": 0.0003636360000029981}, "setup": {"outcome": "passed", "duration": 0.00038041700000235323}, "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.00018859099998280726}}, {"call": {"outcome": "passed", "duration": 0.0003423269999984768}, "setup": {"outcome": "passed", "duration": 0.00040380199999390243}, "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.00018616599999177197}}, {"call": {"outcome": "passed", "duration": 0.00036026999998739484}, "setup": {"outcome": "passed", "duration": 0.00037996699998643635}, "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.00018625600000632403}}, {"call": {"outcome": "passed", "duration": 0.00034242699999254}, "setup": {"outcome": "passed", "duration": 0.0004021080000029542}, "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.00019646600000555736}}, {"call": {"outcome": "passed", "duration": 0.00030217200000492994}, "setup": {"outcome": "passed", "duration": 0.0004300300000181778}, "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.00018812999999795466}}, {"call": {"outcome": "passed", "duration": 0.00028083200001560726}, "setup": {"outcome": "passed", "duration": 0.00028958900000475296}, "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.00016567800000188981}}, {"call": {"outcome": "passed", "duration": 0.0002699119999931554}, "setup": {"outcome": "passed", "duration": 0.00035344699998063334}, "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.00016689100002054147}}, {"call": {"outcome": "passed", "duration": 0.0002473399999871617}, "setup": {"outcome": "passed", "duration": 0.00028808500002242}, "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.00016984600000569117}}, {"call": {"outcome": "passed", "duration": 0.0002731090000054337}, "setup": {"outcome": "passed", "duration": 0.0002849610000055236}, "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.00016424599999709244}}, {"call": {"outcome": "passed", "duration": 0.00026932100001886283}, "setup": {"outcome": "passed", "duration": 0.0002851109999824075}, "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.00016737199999283803}}, {"call": {"outcome": "passed", "duration": 0.0003251250000175787}, "setup": {"outcome": "passed", "duration": 0.0002837380000073608}, "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.00016269299999294162}}, {"call": {"outcome": "passed", "duration": 0.00025980399999525616}, "setup": {"outcome": "passed", "duration": 0.0002999379999835128}, "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.0001839920000179518}}, {"call": {"outcome": "passed", "duration": 0.0003151969999919402}, "setup": {"outcome": "passed", "duration": 0.0002820450000058372}, "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.00016705999999544474}}, {"call": {"outcome": "passed", "duration": 0.0005548930000145447}, "setup": {"outcome": "passed", "duration": 0.0003082030000030045}, "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.00017077800001175092}}, {"call": {"outcome": "passed", "duration": 0.0002849910000009004}, "setup": {"outcome": "passed", "duration": 0.00028877700000862205}, "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.00016617900001847374}}, {"call": {"outcome": "passed", "duration": 0.0003465849999884085}, "setup": {"outcome": "passed", "duration": 0.0002909019999890461}, "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.0001730619999875671}}, {"call": {"outcome": "passed", "duration": 0.00025919300000509793}, "setup": {"outcome": "passed", "duration": 0.00028642199998785145}, "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.00016399500000829903}}, {"call": {"outcome": "passed", "duration": 0.00029928699999004493}, "setup": {"outcome": "passed", "duration": 0.0003044869999939692}, "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.0001846240000134003}}, {"call": {"outcome": "passed", "duration": 0.0003572350000240476}, "setup": {"outcome": "passed", "duration": 0.0002869639999971696}, "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.00017112900002302922}}, {"call": {"outcome": "passed", "duration": 0.002237183000005416}, "setup": {"outcome": "passed", "duration": 0.0004111050000119576}, "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.00017571699999052726}}, {"call": {"outcome": "passed", "duration": 0.0006910259999983737}, "setup": {"outcome": "passed", "duration": 0.00031494600000314676}, "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.0001766080000038528}}, {"call": {"outcome": "passed", "duration": 0.002716754999994464}, "setup": {"outcome": "passed", "duration": 0.0002929150000170466}, "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.00019434199998613622}}, {"call": {"outcome": "passed", "duration": 0.0004463109999903736}, "setup": {"outcome": "passed", "duration": 0.00032306099998891114}, "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.00018698800002425742}}, {"call": {"outcome": "passed", "duration": 0.0007747820000076899}, "setup": {"outcome": "passed", "duration": 0.00028986999998892315}, "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.0001911349999943468}}, {"call": {"outcome": "passed", "duration": 0.0002877149999847006}, "setup": {"outcome": "passed", "duration": 0.00029208300000505005}, "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.00017008700001497346}}, {"call": {"outcome": "passed", "duration": 0.004668586999997615}, "setup": {"outcome": "passed", "duration": 0.0004211640000164607}, "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.00018565600001352323}}, {"call": {"outcome": "passed", "duration": 0.00031817199999295553}, "setup": {"outcome": "passed", "duration": 0.00041171600000211583}, "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.00016966599997658705}}, {"call": {"outcome": "passed", "duration": 0.0003490290000058849}, "setup": {"outcome": "passed", "duration": 0.00030618000002391454}, "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.00016910400000824666}}, {"call": {"outcome": "passed", "duration": 0.00025750899999366084}, "setup": {"outcome": "passed", "duration": 0.00029106200000228455}, "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.00016753099998823018}}, {"call": {"outcome": "passed", "duration": 0.0003551910000112457}, "setup": {"outcome": "passed", "duration": 0.00028551099998708196}, "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.00017153999999663938}}, {"call": {"outcome": "passed", "duration": 0.0004653360000190787}, "setup": {"outcome": "passed", "duration": 0.0003061600000080489}, "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.00017132900001115559}}, {"call": {"outcome": "passed", "duration": 0.000470776000014439}, "setup": {"outcome": "passed", "duration": 0.0003114089999769476}, "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.00017324300000609583}}, {"call": {"outcome": "passed", "duration": 0.0003897659999836378}, "setup": {"outcome": "passed", "duration": 0.0002962220000028992}, "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.00016671100001985906}}, {"call": {"outcome": "passed", "duration": 0.0003563829999961854}, "setup": {"outcome": "passed", "duration": 0.00028449000001273816}, "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.0001671509999994214}}, {"call": {"outcome": "passed", "duration": 0.00032217899999409383}, "setup": {"outcome": "passed", "duration": 0.00028223499998603074}, "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.00016534799999590177}}, {"call": {"outcome": "passed", "duration": 0.0003551110000046265}, "setup": {"outcome": "passed", "duration": 0.00028761499999063744}, "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.00016759199999683005}}, {"call": {"outcome": "passed", "duration": 0.00045754199999237244}, "setup": {"outcome": "passed", "duration": 0.00028765499999394706}, "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.00016504699999586592}}, {"call": {"outcome": "passed", "duration": 0.0003086250000023938}, "setup": {"outcome": "passed", "duration": 0.0002859429999944041}, "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.00016606900001647773}}, {"call": {"outcome": "passed", "duration": 0.00035724399998571243}, "setup": {"outcome": "passed", "duration": 0.00028423899999552305}, "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.00016480599998658363}}, {"call": {"outcome": "passed", "duration": 0.000522993000004135}, "setup": {"outcome": "passed", "duration": 0.0002836269999875185}, "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.00016995600000768718}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029861969999842586, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003017020000015691}, "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.0002069250000147349}}, {"call": {"outcome": "passed", "duration": 0.0005121830000121008}, "setup": {"outcome": "passed", "duration": 0.0003047270000138269}, "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.00017058800000313568}}, {"call": {"outcome": "passed", "duration": 0.00025645700000609395}, "setup": {"outcome": "passed", "duration": 0.0002942169999755606}, "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.00017468499999040432}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020657729999982166, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004384650000019974}, "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.00018587599998909354}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022733410000057575, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003012809999916044}, "lineno": 26, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_slightly_modified_data", "outcome": "failed", "keywords": ["test_slightly_modified_data", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018656800000371732}}, {"call": {"outcome": "passed", "duration": 0.00044463699998686934}, "setup": {"outcome": "passed", "duration": 0.00032405299998572445}, "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.00017493600000761944}}, {"call": {"outcome": "passed", "duration": 0.0005385829999795533}, "setup": {"outcome": "passed", "duration": 0.00029520900000079564}, "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.00017046799999320683}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002064652000001388, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029468799999676776}, "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.00018697799998790288}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020568679999826145, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002970529999970495}, "lineno": 66, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_nan", "outcome": "failed", "keywords": ["test_nan", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018813899998804118}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002043181000004779, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003046170000118309}, "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.0001874790000044868}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020369709999954466, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002970220000122481}, "lineno": 83, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_not_a_trace", "outcome": "failed", "keywords": ["test_not_a_trace", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001872689999800059}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022722880000003443, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030619000000342567}, "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.00019069499998636275}}, {"call": {"outcome": "passed", "duration": 0.0003993229999821324}, "setup": {"outcome": "passed", "duration": 0.00043461900000352216}, "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.00019341000000849817}}, {"call": {"outcome": "passed", "duration": 0.0007070560000101977}, "setup": {"outcome": "passed", "duration": 0.0002940269999953671}, "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.00018926199999214077}}, {"call": {"outcome": "passed", "duration": 0.00029106200000228455}, "setup": {"outcome": "passed", "duration": 0.00029261500000643537}, "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.00016837300000815958}}, {"call": {"outcome": "passed", "duration": 0.00041910999999572596}, "setup": {"outcome": "passed", "duration": 0.0003085639999937939}, "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.00019363999999200132}}, {"call": {"outcome": "passed", "duration": 0.45725020599999766}, "setup": {"outcome": "passed", "duration": 0.00042142400002376235}, "lineno": 43, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_raise_on_empty_file", "outcome": "passed", "keywords": ["test_raise_on_empty_file", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021509999999125284}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.22674398800000972, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003484789999959048}, "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.00021144400000139285}}, {"call": {"outcome": "passed", "duration": 0.9109632310000109}, "setup": {"outcome": "passed", "duration": 0.0003376479999985804}, "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.0002390340000033575}}, {"call": {"outcome": "passed", "duration": 4.3002571020000175}, "setup": {"outcome": "passed", "duration": 0.0003709500000184107}, "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.00021655200001191588}}, {"call": {"outcome": "passed", "duration": 0.4565401129999884}, "setup": {"outcome": "passed", "duration": 0.00035172400001215465}, "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.00025041499998224026}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001168261999993092, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005225109999855704}, "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.00019503199999348908}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012683279999805563, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003351430000009259}, "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.00018882099999473212}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011731510000174694, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000520897999990666}, "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.00019058399999494213}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011169859999995424, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038787200000456323}, "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.00018901100000334736}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009000129999776618, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003029330000003938}, "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.00018422200000145494}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.5391192950000061, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002991260000158036}, "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.00023457599999687773}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.22468259200002194, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003402819999962503}, "lineno": 488, "nodeid": "core/tests/test_waveform_plugins.py::TestWaveformPlugins::test_auto_file_format_during_writing", "outcome": "failed", "keywords": ["test_auto_file_format_during_writing", "filterwarnings", "TestWaveformPlugins", "test_waveform_plugins.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024785099998325677}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001332558000001427, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033678599999120706}, "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.00019217700000240256}}, {"call": {"outcome": "passed", "duration": 0.007660682000022234}, "setup": {"outcome": "passed", "duration": 0.00030125999998631414}, "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.0002363989999878413}}, {"call": {"outcome": "passed", "duration": 0.004651486999989629}, "setup": {"outcome": "passed", "duration": 0.0004004550000047402}, "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.00020458000000189713}}, {"call": {"outcome": "passed", "duration": 0.0026168249999898308}, "setup": {"outcome": "passed", "duration": 0.0003179509999995389}, "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.00018057600001952778}}, {"call": {"outcome": "failed", "duration": 0.005159381999988, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:578: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003177709999988565}, "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.00018865999999206906}}, {"call": {"outcome": "failed", "duration": 0.005073723000009522, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:509: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000318622999998297}, "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.00018627599999376798}}, {"call": {"outcome": "passed", "duration": 0.0027001499999812495}, "setup": {"outcome": "passed", "duration": 0.0003384089999940443}, "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.0001761880000117344}}, {"call": {"outcome": "failed", "duration": 0.005376576000003297, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:534: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003301829999884376}, "lineno": 522, "nodeid": "core/trace.py::obspy.core.trace.Trace.__truediv__", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.__truediv__", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018788899998867237}}, {"call": {"outcome": "passed", "duration": 0.0029884059999858437}, "setup": {"outcome": "passed", "duration": 0.00032306100001733284}, "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.000197677999977941}}, {"call": {"outcome": "passed", "duration": 0.002868352000007235}, "setup": {"outcome": "passed", "duration": 0.00032734900000264133}, "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.00018066499998781183}}, {"call": {"outcome": "passed", "duration": 0.002957999000017253}, "setup": {"outcome": "passed", "duration": 0.00031595700002640115}, "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.00017910299999357449}}, {"call": {"outcome": "passed", "duration": 0.0030912969999974393}, "setup": {"outcome": "passed", "duration": 0.00033970200001931516}, "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.00018010400000889604}}, {"call": {"outcome": "failed", "duration": 0.005088550000010628, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:2034: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003188530000102219}, "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.00020416999998928986}}, {"call": {"outcome": "failed", "duration": 0.005113485999999057, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:1536: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032036499999321677}, "lineno": 1485, "nodeid": "core/trace.py::obspy.core.trace.Trace.filter", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.filter", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018545500000755055}}, {"call": {"outcome": "passed", "duration": 0.0026213129999916873}, "setup": {"outcome": "passed", "duration": 0.0003341510000041126}, "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.0001785409999968124}}, {"call": {"outcome": "passed", "duration": 0.0026869749999889336}, "setup": {"outcome": "passed", "duration": 0.0005775029999881554}, "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.00018118700000968602}}, {"call": {"outcome": "failed", "duration": 0.005148731999980782, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:2452: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003388099999881433}, "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.0001867370000070423}}, {"call": {"outcome": "passed", "duration": 0.0028310339999961798}, "setup": {"outcome": "passed", "duration": 0.0003188530000102219}, "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.0001812160000156382}}, {"call": {"outcome": "passed", "duration": 0.003541183000010051}, "setup": {"outcome": "passed", "duration": 0.0003165379999927609}, "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.00018102600000702296}}, {"call": {"outcome": "failed", "duration": 0.0050631919999943875, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:927: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000334621999996898}, "lineno": 916, "nodeid": "core/trace.py::obspy.core.trace.Trace.plot", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.plot", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018637599998783116}}, {"call": {"outcome": "failed", "duration": 0.0052955150000002504, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:2740: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003172499999948286}, "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.00018865999999206906}}, {"call": {"outcome": "failed", "duration": 0.00513981500000682, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:3013: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033815800000525087}, "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.00018580599999040714}}, {"call": {"outcome": "passed", "duration": 0.003643053000018881}, "setup": {"outcome": "passed", "duration": 0.0003201250000017808}, "lineno": 1662, "nodeid": "core/trace.py::obspy.core.trace.Trace.resample", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.resample", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018081600001096376}}, {"call": {"outcome": "failed", "duration": 0.005137361000009832, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:1412: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033548400000427137}, "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.00018618600000763763}}, {"call": {"outcome": "passed", "duration": 0.0032128730000238193}, "setup": {"outcome": "passed", "duration": 0.00031933400001094014}, "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.00017948300001080497}}, {"call": {"outcome": "failed", "duration": 0.005352862000023606, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:1254: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003292720000160898}, "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.0001892010000119626}}, {"call": {"outcome": "failed", "duration": 0.005064215000004424, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:952: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033034400001952235}, "lineno": 942, "nodeid": "core/trace.py::obspy.core.trace.Trace.spectrogram", "outcome": "failed", "keywords": ["obspy.core.trace.Trace.spectrogram", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020292700000368313}}, {"call": {"outcome": "passed", "duration": 0.0028210950000016055}, "setup": {"outcome": "passed", "duration": 0.0003176399999915702}, "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.00018050599999241967}}, {"call": {"outcome": "failed", "duration": 0.00509913999999867, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:2551: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003132719999996425}, "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.0001869179999971493}}, {"call": {"outcome": "failed", "duration": 0.005457315000001017, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/trace.py:1624: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003418549999878451}, "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.00020828699999242417}}, {"call": {"outcome": "passed", "duration": 0.0031871250000108375}, "setup": {"outcome": "passed", "duration": 0.0003224490000093283}, "lineno": 1130, "nodeid": "core/trace.py::obspy.core.trace.Trace.trim", "outcome": "passed", "keywords": ["obspy.core.trace.Trace.trim", "filterwarnings", "trace.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018240899999000248}}, {"call": {"outcome": "passed", "duration": 0.0028987899999890487}, "setup": {"outcome": "passed", "duration": 0.00033793800000125884}, "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.00018062500001292392}}, {"call": {"outcome": "passed", "duration": 0.0025333099999897968}, "setup": {"outcome": "passed", "duration": 0.0003193539999983841}, "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.00018112699999051074}}, {"call": {"outcome": "passed", "duration": 0.005857340000005706}, "setup": {"outcome": "passed", "duration": 0.0003771309999933692}, "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.00018277999998872474}}, {"call": {"outcome": "passed", "duration": 0.0026475020000020777}, "setup": {"outcome": "passed", "duration": 0.00032257000000868175}, "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.00018004399998972076}}, {"call": {"outcome": "passed", "duration": 0.0026902009999787424}, "setup": {"outcome": "passed", "duration": 0.00031725899998491514}, "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.00017901300000744413}}, {"call": {"outcome": "passed", "duration": 0.0025442699999871365}, "setup": {"outcome": "passed", "duration": 0.00031782099998167723}, "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.00017910299999357449}}, {"call": {"outcome": "passed", "duration": 0.002724018999998634}, "setup": {"outcome": "passed", "duration": 0.00042402899998705834}, "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.00018075599999178849}}, {"call": {"outcome": "passed", "duration": 0.0026634959999967123}, "setup": {"outcome": "passed", "duration": 0.00034072400001150527}, "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.00017975499997646693}}, {"call": {"outcome": "passed", "duration": 0.002730890999998792}, "setup": {"outcome": "passed", "duration": 0.00037054000000580345}, "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.00018214900001112255}}, {"call": {"outcome": "passed", "duration": 0.002656412999982649}, "setup": {"outcome": "passed", "duration": 0.00033821900001385075}, "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.0001778700000159006}}, {"call": {"outcome": "passed", "duration": 0.002655681999982562}, "setup": {"outcome": "passed", "duration": 0.0003358849999983704}, "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.00017930399999954716}}, {"call": {"outcome": "passed", "duration": 0.0025235850000058235}, "setup": {"outcome": "passed", "duration": 0.00033114600000772043}, "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.00019319899999459267}}, {"call": {"outcome": "passed", "duration": 0.002674375999987433}, "setup": {"outcome": "passed", "duration": 0.0003078530000095725}, "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.0001768890000164447}}, {"call": {"outcome": "passed", "duration": 0.0025360289999980523}, "setup": {"outcome": "passed", "duration": 0.00031192000000146436}, "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.00017743000000791653}}, {"call": {"outcome": "passed", "duration": 0.0025518980000072133}, "setup": {"outcome": "passed", "duration": 0.0003137540000182071}, "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.00017535599999973783}}, {"call": {"outcome": "passed", "duration": 0.0025340450000044257}, "setup": {"outcome": "passed", "duration": 0.0003365259999839054}, "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.00017676899997809414}}, {"call": {"outcome": "passed", "duration": 0.0024931189999790604}, "setup": {"outcome": "passed", "duration": 0.0003065500000047905}, "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.00017438500000821477}}, {"call": {"outcome": "passed", "duration": 0.002528304999998454}, "setup": {"outcome": "passed", "duration": 0.0003079629999831468}, "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.0001742540000009285}}, {"call": {"outcome": "passed", "duration": 0.002593625999992355}, "setup": {"outcome": "passed", "duration": 0.000311610000011342}, "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.0001755570000057105}}, {"call": {"outcome": "passed", "duration": 0.0024956029999998464}, "setup": {"outcome": "passed", "duration": 0.00033244800002307784}, "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.00017999499999632462}}, {"call": {"outcome": "passed", "duration": 0.002493650000019443}, "setup": {"outcome": "passed", "duration": 0.0003219490000105907}, "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.00017401400000949252}}, {"call": {"outcome": "passed", "duration": 0.0025069550000011986}, "setup": {"outcome": "passed", "duration": 0.00031127900001592934}, "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.00017711999998937245}}, {"call": {"outcome": "passed", "duration": 0.0025614360000076886}, "setup": {"outcome": "passed", "duration": 0.00047751799999673494}, "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.00018158800000378506}}, {"call": {"outcome": "passed", "duration": 0.002533685000003061}, "setup": {"outcome": "passed", "duration": 0.00033646600002157356}, "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.00018045600000959894}}, {"call": {"outcome": "passed", "duration": 0.002518145999999888}, "setup": {"outcome": "passed", "duration": 0.00033452200000283483}, "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.0001940209999986564}}, {"call": {"outcome": "passed", "duration": 0.002536980999991556}, "setup": {"outcome": "passed", "duration": 0.000310708000000659}, "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.00018063599998185964}}, {"call": {"outcome": "passed", "duration": 0.0025163220000194997}, "setup": {"outcome": "passed", "duration": 0.00031719999998358617}, "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.00017857199998161377}}, {"call": {"outcome": "passed", "duration": 0.002688753000001043}, "setup": {"outcome": "passed", "duration": 0.00033189799998467606}, "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.00017915300000481693}}, {"call": {"outcome": "passed", "duration": 0.0025318910000180495}, "setup": {"outcome": "passed", "duration": 0.00036490900001240334}, "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.00017686900000057904}}, {"call": {"outcome": "passed", "duration": 0.0025592019999862714}, "setup": {"outcome": "passed", "duration": 0.00033670600001300954}, "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.0001962649999995847}}, {"call": {"outcome": "passed", "duration": 0.0025152900000193767}, "setup": {"outcome": "passed", "duration": 0.000313793999993095}, "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.00017915300000481693}}, {"call": {"outcome": "passed", "duration": 0.0025533810000126778}, "setup": {"outcome": "passed", "duration": 0.0003171310000027461}, "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.00018088600000965016}}, {"call": {"outcome": "passed", "duration": 0.0025348770000164222}, "setup": {"outcome": "passed", "duration": 0.00031712000000538865}, "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.00017668899999989662}}, {"call": {"outcome": "passed", "duration": 0.002513977000006662}, "setup": {"outcome": "passed", "duration": 0.0003385999999920841}, "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.00018840000001318913}}, {"call": {"outcome": "passed", "duration": 0.0025187560000006215}, "setup": {"outcome": "passed", "duration": 0.00031160899999349567}, "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.00017640800001572643}}, {"call": {"outcome": "passed", "duration": 0.0025411679999933767}, "setup": {"outcome": "passed", "duration": 0.00031447500001036133}, "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.00017671900002369512}}, {"call": {"outcome": "passed", "duration": 0.002576043000004802}, "setup": {"outcome": "passed", "duration": 0.00031479599999784114}, "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.00017599699998527285}}, {"call": {"outcome": "passed", "duration": 0.0025831060000029993}, "setup": {"outcome": "passed", "duration": 0.00033741799998665556}, "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.00017743000000791653}}, {"call": {"outcome": "passed", "duration": 0.0026845849999972415}, "setup": {"outcome": "passed", "duration": 0.00033076500000106535}, "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.0001811070000030668}}, {"call": {"outcome": "passed", "duration": 0.0025584109999954308}, "setup": {"outcome": "passed", "duration": 0.00032714900001451497}, "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.00019473200001129953}}, {"call": {"outcome": "passed", "duration": 0.002570552999998199}, "setup": {"outcome": "passed", "duration": 0.0003112590000000637}, "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.0001840630000060628}}, {"call": {"outcome": "passed", "duration": 0.0025120339999773478}, "setup": {"outcome": "passed", "duration": 0.00031215999999290034}, "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.0001754470000037145}}, {"call": {"outcome": "passed", "duration": 0.0026080829999841626}, "setup": {"outcome": "passed", "duration": 0.00031507700001043304}, "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.00017769100000464277}}, {"call": {"outcome": "passed", "duration": 0.0025354469999854246}, "setup": {"outcome": "passed", "duration": 0.00033251799999334253}, "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.0001785830000073929}}, {"call": {"outcome": "passed", "duration": 0.0025089380000054007}, "setup": {"outcome": "passed", "duration": 0.00031227100001274266}, "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.00019248800001037125}}, {"call": {"outcome": "passed", "duration": 0.002518747000010535}, "setup": {"outcome": "passed", "duration": 0.00030921600000510807}, "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.00017671900002369512}}, {"call": {"outcome": "passed", "duration": 0.0025227440000037404}, "setup": {"outcome": "passed", "duration": 0.00031413400000701586}, "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.00017386299998634058}}, {"call": {"outcome": "passed", "duration": 0.00250394899998696}, "setup": {"outcome": "passed", "duration": 0.0003313059999925372}, "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.00017505499999970198}}, {"call": {"outcome": "passed", "duration": 0.002500443000002406}, "setup": {"outcome": "passed", "duration": 0.0003750970000169218}, "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.00017640800001572643}}, {"call": {"outcome": "passed", "duration": 0.0025202399999955105}, "setup": {"outcome": "passed", "duration": 0.0003123909999942498}, "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.00017529699999840886}}, {"call": {"outcome": "passed", "duration": 0.00281803400000058}, "setup": {"outcome": "passed", "duration": 0.0003967880000175228}, "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.00017936300000087613}}, {"call": {"outcome": "passed", "duration": 0.0025158610000062254}, "setup": {"outcome": "passed", "duration": 0.0003146459999925355}, "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.00017680900000982547}}, {"call": {"outcome": "passed", "duration": 0.0025201390000120227}, "setup": {"outcome": "passed", "duration": 0.0003333199999815406}, "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.0001763989999972182}}, {"call": {"outcome": "passed", "duration": 0.0025348059999998895}, "setup": {"outcome": "passed", "duration": 0.00033878100001061284}, "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.00018832999998608102}}, {"call": {"outcome": "passed", "duration": 0.0025316509999981918}, "setup": {"outcome": "passed", "duration": 0.00031258199999228964}, "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.0001922579999984464}}, {"call": {"outcome": "passed", "duration": 0.002519618000007995}, "setup": {"outcome": "passed", "duration": 0.00031237100000680584}, "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.0001755870000010873}}, {"call": {"outcome": "passed", "duration": 0.0025147589999789943}, "setup": {"outcome": "passed", "duration": 0.00031326299998113427}, "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.00017768000000728534}}, {"call": {"outcome": "passed", "duration": 0.002497887999993509}, "setup": {"outcome": "passed", "duration": 0.00033533499998839034}, "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.00019495300000471616}}, {"call": {"outcome": "passed", "duration": 0.00251064199997586}, "setup": {"outcome": "passed", "duration": 0.00032136800001580923}, "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.0001768589999926462}}, {"call": {"outcome": "passed", "duration": 0.0025078459999861025}, "setup": {"outcome": "passed", "duration": 0.0003215979999993124}, "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.00018007499997452214}}, {"call": {"outcome": "passed", "duration": 0.002532180999992306}, "setup": {"outcome": "passed", "duration": 0.0006130109999844535}, "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.00018707800001038777}}, {"call": {"outcome": "passed", "duration": 0.0026732340000137356}, "setup": {"outcome": "passed", "duration": 0.0003776530000152434}, "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.0001945420000026843}}, {"call": {"outcome": "passed", "duration": 0.002566655999999057}, "setup": {"outcome": "passed", "duration": 0.00032024600000113423}, "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.00019803799997930582}}, {"call": {"outcome": "passed", "duration": 0.003187881000002335}, "setup": {"outcome": "passed", "duration": 0.00037032899999189794}, "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.0001794639999843639}}, {"call": {"outcome": "passed", "duration": 0.009639135000014676}, "setup": {"outcome": "passed", "duration": 0.00032081700001640456}, "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.00018263999999135194}}, {"call": {"outcome": "passed", "duration": 0.003439420000006521}, "setup": {"outcome": "passed", "duration": 0.00036104199998021613}, "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.00018206900000450332}}, {"call": {"outcome": "passed", "duration": 0.002857567000006611}, "setup": {"outcome": "passed", "duration": 0.0003419759999871985}, "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.00018071599998847887}}, {"call": {"outcome": "passed", "duration": 0.011950667000007797}, "setup": {"outcome": "passed", "duration": 0.0003372470000044814}, "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.00018007500000294385}}, {"call": {"outcome": "passed", "duration": 0.27880646999997794}, "setup": {"outcome": "passed", "duration": 0.00031634799998414564}, "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.00018574500001022898}}, {"call": {"outcome": "passed", "duration": 0.0027279159999977765}, "setup": {"outcome": "passed", "duration": 0.0003812189999905513}, "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.00017846200000803947}}, {"call": {"outcome": "skipped", "duration": 0.00021432899998785615, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003705899999886242}, "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.00017487499999901956}}, {"call": {"outcome": "skipped", "duration": 0.00019568399997638153, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003143550000004325}, "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.00017359299999952782}}, {"call": {"outcome": "skipped", "duration": 0.00020222599999897284, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003018120000035651}, "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.0001736529999902814}}, {"call": {"outcome": "failed", "duration": 0.0041918100000089, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/util/misc.py:663: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003145250000216038}, "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.00020211599999697683}}, {"call": {"outcome": "passed", "duration": 0.0024912849999907394}, "setup": {"outcome": "passed", "duration": 0.0003155870000171035}, "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.0001760170000011385}}, {"call": {"outcome": "passed", "duration": 0.0029374660000200947}, "setup": {"outcome": "passed", "duration": 0.0003151969999919402}, "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.00017472600001156025}}, {"call": {"outcome": "passed", "duration": 0.0025116230000037376}, "setup": {"outcome": "passed", "duration": 0.00045891399997799454}, "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.00017689899999595582}}, {"call": {"outcome": "passed", "duration": 0.0027308919999882164}, "setup": {"outcome": "passed", "duration": 0.000310947999992095}, "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.00017768099999670994}}, {"call": {"outcome": "passed", "duration": 0.002499870999997711}, "setup": {"outcome": "passed", "duration": 0.00031723000000738466}, "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.00018046499999968546}}, {"call": {"outcome": "passed", "duration": 0.0038218519999873024}, "setup": {"outcome": "passed", "duration": 0.00037050900002100207}, "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.00018203900000912654}}, {"call": {"outcome": "passed", "duration": 0.002676018999977714}, "setup": {"outcome": "passed", "duration": 0.0003341719999809811}, "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.00017947399999229674}}, {"call": {"outcome": "passed", "duration": 0.0027930869999863717}, "setup": {"outcome": "passed", "duration": 0.00031701000000339263}, "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.00018854099999998652}}, {"call": {"outcome": "failed", "duration": 0.005104478000021118, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/core/util/testing.py:408: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003859280000142462}, "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.00019460199999343786}}, {"call": {"outcome": "passed", "duration": 0.0025229249999938475}, "setup": {"outcome": "passed", "duration": 0.0005952479999962179}, "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.0001792539999883047}}, {"call": {"outcome": "failed", "duration": 0.004155171999997265, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/geodetics/base.py:430: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033506299999430667}, "lineno": 391, "nodeid": "geodetics/base.py::obspy.geodetics.base.inside_geobounds", "outcome": "failed", "keywords": ["obspy.geodetics.base.inside_geobounds", "filterwarnings", "base.py", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018451300002197968}}, {"call": {"outcome": "passed", "duration": 0.002482729999996991}, "setup": {"outcome": "passed", "duration": 0.0003146759999879123}, "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.00017491500000232918}}, {"call": {"outcome": "passed", "duration": 0.0025619470000037836}, "setup": {"outcome": "passed", "duration": 0.000507964999997057}, "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.0001823099999853639}}, {"call": {"outcome": "passed", "duration": 0.002928037999993194}, "setup": {"outcome": "passed", "duration": 0.00033899099997825033}, "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.00018344099999012542}}, {"call": {"outcome": "passed", "duration": 0.011908167999990837}, "setup": {"outcome": "passed", "duration": 0.00037687100001448925}, "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.00018699800000376854}}, {"call": {"outcome": "passed", "duration": 0.011598722000002226}, "setup": {"outcome": "passed", "duration": 0.0003271180000012919}, "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.00020891899998787267}}, {"call": {"outcome": "passed", "duration": 0.011565429999990329}, "setup": {"outcome": "passed", "duration": 0.00035285699999576536}, "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.00018185800001901953}}, {"call": {"outcome": "passed", "duration": 0.011709709000001567}, "setup": {"outcome": "passed", "duration": 0.00032017500001302324}, "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.00018247899998868888}}, {"call": {"outcome": "passed", "duration": 0.05187470399999938}, "setup": {"outcome": "passed", "duration": 0.0009135689999766328}, "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.00018310099997620455}}, {"call": {"outcome": "passed", "duration": 0.010113278000005721}, "setup": {"outcome": "passed", "duration": 0.0003457330000173897}, "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.0002581210000016654}}, {"call": {"outcome": "passed", "duration": 0.002514898999976367}, "setup": {"outcome": "passed", "duration": 0.0003819609999879958}, "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.00018310100000462626}}, {"call": {"outcome": "passed", "duration": 0.0009838910000041778}, "setup": {"outcome": "passed", "duration": 0.00032214899999871704}, "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.00018942200000537923}}, {"call": {"outcome": "passed", "duration": 0.0003189230000089083}, "setup": {"outcome": "passed", "duration": 0.0003158779999807848}, "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.0001931700000170622}}, {"call": {"outcome": "passed", "duration": 0.00039667799998710507}, "setup": {"outcome": "passed", "duration": 0.00028834700000857083}, "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.00017164000001912427}}, {"setup": {"outcome": "skipped", "duration": 0.00016786200001206453, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/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.000173692999993591}}, {"call": {"outcome": "passed", "duration": 0.00022593000002757435}, "setup": {"outcome": "passed", "duration": 0.0002921740000090267}, "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.0001723910000066553}}, {"call": {"outcome": "passed", "duration": 0.0002434329999800866}, "setup": {"outcome": "passed", "duration": 0.00028307700000596014}, "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.00017420399998968605}}, {"call": {"outcome": "passed", "duration": 0.0012442949999922348}, "setup": {"outcome": "passed", "duration": 0.00031113900001855654}, "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.00019516300000077536}}, {"call": {"outcome": "passed", "duration": 0.001425672000010536}, "setup": {"outcome": "passed", "duration": 0.00029669200000626006}, "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.0001739330000134487}}, {"call": {"outcome": "passed", "duration": 0.0003322580000144626}, "setup": {"outcome": "passed", "duration": 0.00029103200000690777}, "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.00018144800000641226}}, {"call": {"outcome": "failed", "duration": 0.005333944999989626, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/imaging/__init__.py:29: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005944860000113295}, "lineno": 0, "nodeid": "imaging/__init__.py::obspy.imaging", "outcome": "failed", "keywords": ["obspy.imaging", "filterwarnings", "__init__.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001910960000088835}}, {"call": {"outcome": "passed", "duration": 0.0029547379999996792}, "setup": {"outcome": "passed", "duration": 0.00045280300000172247}, "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.00018242999999529275}}, {"call": {"outcome": "passed", "duration": 0.0025313310000001366}, "setup": {"outcome": "passed", "duration": 0.0003197350000050392}, "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.00017905400000017835}}, {"call": {"outcome": "passed", "duration": 0.0025045099999942977}, "setup": {"outcome": "passed", "duration": 0.00033421200001271245}, "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.0001798140000062176}}, {"call": {"outcome": "passed", "duration": 0.0025724359999799162}, "setup": {"outcome": "passed", "duration": 0.00038721000001373795}, "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.0001784019999888642}}, {"call": {"outcome": "passed", "duration": 0.002541017999988071}, "setup": {"outcome": "passed", "duration": 0.00039579599999228776}, "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.0001802349999877606}}, {"call": {"outcome": "passed", "duration": 0.002501535000021704}, "setup": {"outcome": "passed", "duration": 0.0005839460000061081}, "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.0001822389999972529}}, {"call": {"outcome": "passed", "duration": 0.002537873000022728}, "setup": {"outcome": "passed", "duration": 0.0003653199999860135}, "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.00017940399999361034}}, {"call": {"outcome": "passed", "duration": 0.00025261999999770524}, "setup": {"outcome": "passed", "duration": 0.000558328000010988}, "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.00017993499997714935}}, {"call": {"outcome": "passed", "duration": 0.39671977399999037}, "setup": {"outcome": "passed", "duration": 0.00047450299999240997}, "lineno": 19, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_beachball", "outcome": "passed", "keywords": ["test_beachball", "filterwarnings", "image", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002876249999985703}}, {"call": {"outcome": "passed", "duration": 0.2215916380000067}, "setup": {"outcome": "passed", "duration": 0.00033990200000744153}, "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.0002598430000091412}}, {"call": {"outcome": "passed", "duration": 0.0002875249999760854}, "setup": {"outcome": "passed", "duration": 0.0003378789999999299}, "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.00017582700002094498}}, {"call": {"outcome": "passed", "duration": 0.0003244940000115548}, "setup": {"outcome": "passed", "duration": 0.0002936060000138241}, "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.00018316099999537983}}, {"call": {"outcome": "passed", "duration": 0.0002971229999957359}, "setup": {"outcome": "passed", "duration": 0.00029538900000147805}, "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.00017757099999471393}}, {"call": {"outcome": "passed", "duration": 0.0002703030000077433}, "setup": {"outcome": "passed", "duration": 0.0002947380000080102}, "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.00018423200000938778}}, {"call": {"outcome": "passed", "duration": 0.00041274800000223877}, "setup": {"outcome": "passed", "duration": 0.0002878859999952965}, "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.0001791740000101072}}, {"call": {"outcome": "passed", "duration": 0.00039256100001239247}, "setup": {"outcome": "passed", "duration": 0.0002891879999822322}, "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.00017697000001248853}}, {"call": {"outcome": "passed", "duration": 0.17542949400001362}, "setup": {"outcome": "passed", "duration": 0.0004711670000006052}, "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.0003839940000034403}}, {"call": {"outcome": "passed", "duration": 0.13836913599999434}, "setup": {"outcome": "passed", "duration": 0.0005172319999928732}, "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.0002669970000113153}}, {"call": {"outcome": "passed", "duration": 0.13877873799998497}, "setup": {"outcome": "passed", "duration": 0.0004882989999828169}, "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.00027182599998809565}}, {"call": {"outcome": "passed", "duration": 0.024265030000009347}, "setup": {"outcome": "passed", "duration": 0.0004611880000027213}, "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.00024677900000824593}}, {"call": {"outcome": "passed", "duration": 0.06974173899999414}, "setup": {"outcome": "passed", "duration": 0.0004723590000139666}, "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.00025762000001350316}}, {"call": {"outcome": "passed", "duration": 0.43330465699997944}, "setup": {"outcome": "passed", "duration": 0.0006899629999850276}, "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.0003125320000094689}}, {"call": {"outcome": "passed", "duration": 0.004282147999987274}, "setup": {"outcome": "passed", "duration": 0.0004587640000011106}, "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.0001894430000106695}}, {"call": {"outcome": "passed", "duration": 0.0038248879999969176}, "setup": {"outcome": "passed", "duration": 0.0003049080000039339}, "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.00018939199998158074}}, {"call": {"outcome": "passed", "duration": 0.0036344730000053005}, "setup": {"outcome": "passed", "duration": 0.00030822400000829475}, "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.0001908249999758027}}, {"call": {"outcome": "passed", "duration": 0.057027182000013}, "setup": {"outcome": "passed", "duration": 0.0003066200000034769}, "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.0002130059999956302}}, {"call": {"outcome": "passed", "duration": 0.0036230009999940194}, "setup": {"outcome": "passed", "duration": 0.0003137629999798719}, "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.0002171239999881891}}, {"call": {"outcome": "passed", "duration": 0.003937626999999111}, "setup": {"outcome": "passed", "duration": 0.0003231119999895782}, "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.00019512299999746574}}, {"call": {"outcome": "passed", "duration": 0.11091929999997774}, "setup": {"outcome": "passed", "duration": 0.0006613500000014483}, "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.00019448200001193072}}, {"call": {"outcome": "passed", "duration": 0.09661546399999565}, "setup": {"outcome": "passed", "duration": 0.0003486790000124529}, "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.0002049210000052426}}, {"call": {"outcome": "passed", "duration": 0.09709963400001698}, "setup": {"outcome": "passed", "duration": 0.0003665819999980613}, "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.00021218499998099105}}, {"call": {"outcome": "passed", "duration": 0.09656029100000296}, "setup": {"outcome": "passed", "duration": 0.0003494899999907375}, "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.0002231650000226182}}, {"call": {"outcome": "passed", "duration": 0.0970127639999987}, "setup": {"outcome": "passed", "duration": 0.0003531579999958012}, "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.0001944010000158869}}, {"call": {"outcome": "passed", "duration": 0.08377136499998983}, "setup": {"outcome": "passed", "duration": 0.0003795169999989412}, "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.00019363999999200132}}, {"setup": {"outcome": "skipped", "duration": 0.00018704799998658928, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/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.0002644219999865527}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002374007000014444, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007435830000019905}, "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.0002385739999795078}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019809060000000045, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004804239999884885}, "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.00024382299997682821}}, {"call": {"outcome": "passed", "duration": 0.47156932699999743}, "setup": {"outcome": "passed", "duration": 0.9918216589999815}, "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.00036230400002068563}}, {"call": {"outcome": "passed", "duration": 0.48025236299997687}, "setup": {"outcome": "passed", "duration": 0.12742377999998666}, "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.0003652589999774136}}, {"call": {"outcome": "passed", "duration": 0.4537482570000009}, "setup": {"outcome": "passed", "duration": 0.14264614399999687}, "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.00045308299999646806}}, {"call": {"outcome": "passed", "duration": 0.013881249000007756}, "setup": {"outcome": "passed", "duration": 0.0012343369999996412}, "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.00024953499999469386}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_scan.py", "lineno": 91, "message": "assert 1 == 2\n +  where 1 = <obspy.imaging.scripts.scan.Scanner object at 0x7ff34853ba10>.counter"}, "outcome": "failed", "duration": 0.001690975999991906, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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 0x7ff34853ba10>.counter"}, "setup": {"outcome": "passed", "duration": 0.0003395120000106999}, "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.00018604600001026483}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.039258719000002884, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/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.0004689620000135619}, "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.0003108880000013414}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.09909863400000063, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/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.00032988400002409435}, "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.00022991800000227158}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0033919519999869863, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005282019999981458}, "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.00025987399999394256}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.04149018100000035, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/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.0006169880000186367}, "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.0002616170000067086}}, {"call": {"outcome": "passed", "duration": 0.01368948200001796}, "setup": {"outcome": "passed", "duration": 0.0005007520000219756}, "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.00022759300000529947}}, {"call": {"outcome": "passed", "duration": 0.0032292790000099103}, "setup": {"outcome": "passed", "duration": 0.0004445780000139621}, "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.0002493430000072294}}, {"call": {"outcome": "passed", "duration": 1.1127903770000103}, "setup": {"outcome": "passed", "duration": 0.00043999900000812886}, "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.00023628000002418048}}, {"call": {"outcome": "passed", "duration": 0.3404428379999729}, "setup": {"outcome": "passed", "duration": 0.0006682340000168097}, "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.0003523459999996703}}, {"call": {"outcome": "passed", "duration": 0.06214878099999055}, "setup": {"outcome": "passed", "duration": 0.000366653000014594}, "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.00023697099999253624}}, {"call": {"outcome": "passed", "duration": 0.0013939939999829676}, "setup": {"outcome": "passed", "duration": 0.000345622999986972}, "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.00019259900000179186}}, {"call": {"outcome": "passed", "duration": 0.3993551960000161}, "setup": {"outcome": "passed", "duration": 0.00042642399998271685}, "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.0002592120000031173}}, {"call": {"outcome": "passed", "duration": 0.0003208269999959157}, "setup": {"outcome": "passed", "duration": 0.00038478600001212726}, "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.00018523500000355853}}, {"call": {"outcome": "passed", "duration": 0.0025377819999903295}, "setup": {"outcome": "passed", "duration": 0.00030652999998892483}, "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.0001944020000053115}}, {"call": {"outcome": "passed", "duration": 0.14821006100001455}, "setup": {"outcome": "passed", "duration": 0.0004953010000008362}, "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.0003972110000063367}}, {"call": {"outcome": "passed", "duration": 0.12308705099999884}, "setup": {"outcome": "passed", "duration": 0.0005519100000128674}, "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.00028702599999519407}}, {"call": {"outcome": "passed", "duration": 0.12559250600000382}, "setup": {"outcome": "passed", "duration": 0.0004970269999944321}, "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.00031076000001917237}}, {"call": {"outcome": "passed", "duration": 0.0984080130000109}, "setup": {"outcome": "passed", "duration": 0.0005374630000005709}, "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.0002905220000002373}}, {"call": {"outcome": "passed", "duration": 0.24097538000000895}, "setup": {"outcome": "passed", "duration": 0.000742886000011822}, "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.00030779400000824353}}, {"call": {"outcome": "passed", "duration": 0.19246013800000128}, "setup": {"outcome": "passed", "duration": 0.0005284970000047906}, "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.00034198800000240226}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023808429999974123, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005444359999842163}, "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.00022203500000728127}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002049173999978393, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00046648000000004686}, "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.00022803500002055443}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003950352000003932, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044115399998645444}, "lineno": 203, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_5_traces", "outcome": "failed", "keywords": ["test_plot_multiple_traces_5_traces", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023246300000323572}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020046209999975417, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004606900000112546}, "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.00022920800000747477}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019913659999986066, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004362239999977646}, "lineno": 218, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_multiple_traces_10_traces_huge", "outcome": "failed", "keywords": ["test_plot_multiple_traces_10_traces_huge", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022771499999407752}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002013508000004549, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006834760000060669}, "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.00023394599998027843}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001997497999980169, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043813700000328026}, "lineno": 239, "nodeid": "imaging/tests/test_waveform.py::TestWaveformPlot::test_plot_with_labels", "outcome": "failed", "keywords": ["test_plot_with_labels", "filterwarnings", "image", "TestWaveformPlot", "test_waveform.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021422000000370645}}, {"call": {"outcome": "passed", "duration": 0.09652954800000657}, "setup": {"outcome": "passed", "duration": 0.0004567619999988892}, "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.0003116820000172993}}, {"call": {"outcome": "passed", "duration": 0.0979329969999867}, "setup": {"outcome": "passed", "duration": 0.0005123060000187252}, "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.00029777599999647464}}, {"call": {"outcome": "passed", "duration": 0.5145349999999951}, "setup": {"outcome": "passed", "duration": 0.0005423320000090825}, "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.0002936770000019351}}, {"call": {"outcome": "passed", "duration": 0.49736065700000154}, "setup": {"outcome": "passed", "duration": 0.000520170999976699}, "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.00032261199999084056}}, {"call": {"outcome": "passed", "duration": 0.4854500600000051}, "setup": {"outcome": "passed", "duration": 0.0005392859999915345}, "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.0003357869999831564}}, {"call": {"outcome": "passed", "duration": 0.48116618000000244}, "setup": {"outcome": "passed", "duration": 0.0005519000000049346}, "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.00033670599998458783}}, {"call": {"outcome": "passed", "duration": 0.5307848399999955}, "setup": {"outcome": "passed", "duration": 0.0005622259999995549}, "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.00031934399999045127}}, {"call": {"outcome": "passed", "duration": 0.5194343260000096}, "setup": {"outcome": "passed", "duration": 0.0005296050000254127}, "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.000311649000025227}}, {"call": {"outcome": "passed", "duration": 0.7407741090000002}, "setup": {"outcome": "passed", "duration": 0.0005325799999980063}, "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.0003097569999965799}}, {"call": {"outcome": "passed", "duration": 0.5651435080000056}, "setup": {"outcome": "passed", "duration": 0.0005384520000006887}, "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.0003135430000043016}}, {"call": {"outcome": "passed", "duration": 0.5583736799999883}, "setup": {"outcome": "passed", "duration": 0.0005534900000156995}, "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.0003237229999797364}}, {"call": {"outcome": "passed", "duration": 0.15809994600002142}, "setup": {"outcome": "passed", "duration": 0.0005415980000123}, "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.00033516300001679156}}, {"call": {"outcome": "passed", "duration": 0.15619936999999595}, "setup": {"outcome": "passed", "duration": 0.000549180999996679}, "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.00032619699999258955}}, {"call": {"outcome": "passed", "duration": 0.1730423719999976}, "setup": {"outcome": "passed", "duration": 0.0005460259999949812}, "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.00032458300000826057}}, {"call": {"outcome": "passed", "duration": 0.2349970489999862}, "setup": {"outcome": "passed", "duration": 0.000669023999989804}, "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.0002889369999934388}}, {"call": {"outcome": "passed", "duration": 0.10661413200000425}, "setup": {"outcome": "passed", "duration": 0.0006610289999855468}, "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.00031497599999852355}}, {"call": {"outcome": "passed", "duration": 0.0921299299999987}, "setup": {"outcome": "passed", "duration": 0.0006882809999808615}, "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.0003007889999935287}}, {"call": {"outcome": "passed", "duration": 0.07411162200000376}, "setup": {"outcome": "passed", "duration": 0.0007047610000086024}, "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.00028516000000422537}}, {"call": {"outcome": "passed", "duration": 0.18092882100000907}, "setup": {"outcome": "passed", "duration": 0.0005474289999938264}, "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.0004138190000162467}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015271810000001551, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005559039999809556}, "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.00023923399999148387}}, {"call": {"outcome": "passed", "duration": 0.10350187299999902}, "setup": {"outcome": "passed", "duration": 0.00031954399997857763}, "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.00023473699999954079}}, {"call": {"outcome": "passed", "duration": 0.003421535000001086}, "setup": {"outcome": "passed", "duration": 0.00048029399999904854}, "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.000184842999999546}}, {"call": {"outcome": "passed", "duration": 0.0032072460000165393}, "setup": {"outcome": "passed", "duration": 0.0003305749999924501}, "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.0001851250000015625}}, {"call": {"outcome": "passed", "duration": 0.003111667999974088}, "setup": {"outcome": "passed", "duration": 0.00032204900000465386}, "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.00018921199998089833}}, {"call": {"outcome": "passed", "duration": 0.0009091409999939515}, "setup": {"outcome": "passed", "duration": 0.0014048930000001292}, "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.00019974100001718398}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000933957999990298, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034486100000208353}, "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.0001863470000103007}}, {"call": {"outcome": "passed", "duration": 0.012754696000001786}, "setup": {"outcome": "passed", "duration": 0.00037577899999519104}, "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.0001900839999962045}}, {"call": {"outcome": "passed", "duration": 0.0014592649999940477}, "setup": {"outcome": "passed", "duration": 0.0003615930000080425}, "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.00018267000001515044}}, {"call": {"outcome": "passed", "duration": 0.11033705799999893}, "setup": {"outcome": "passed", "duration": 0.0003410239999936948}, "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.000362574999996923}}, {"call": {"outcome": "passed", "duration": 0.0004646040000011453}, "setup": {"outcome": "passed", "duration": 0.0004462499999817737}, "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.00017832200001066667}}, {"call": {"outcome": "passed", "duration": 0.0002448360000073535}, "setup": {"outcome": "passed", "duration": 0.000457000000011476}, "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.00019705599999042533}}, {"call": {"outcome": "passed", "duration": 0.00026120600000467675}, "setup": {"outcome": "passed", "duration": 0.0004017480000015894}, "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.0001943310000172005}}, {"call": {"outcome": "passed", "duration": 0.00023935499999083731}, "setup": {"outcome": "passed", "duration": 0.00041720599998029684}, "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.00021196500000542073}}, {"call": {"outcome": "passed", "duration": 0.00024454399999740417}, "setup": {"outcome": "passed", "duration": 0.0006465619999858063}, "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.00020577300000468313}}, {"call": {"outcome": "passed", "duration": 0.0002567580000061298}, "setup": {"outcome": "passed", "duration": 0.00040395199999920806}, "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.00020651399998428133}}, {"call": {"outcome": "passed", "duration": 0.0029813759999797185}, "setup": {"outcome": "passed", "duration": 0.000629460999988396}, "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.000182380000012472}}, {"call": {"outcome": "failed", "duration": 0.004982047999988026, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/alsep/core.py:141: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00040901099998791324}, "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.0001884999999788306}}, {"call": {"outcome": "failed", "duration": 0.004748492999993914, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/alsep/core.py:304: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003387309999993704}, "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.00018583499999635933}}, {"call": {"outcome": "failed", "duration": 0.004605367000010574, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/alsep/core.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032021600000575745}, "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.00018932199998289434}}, {"call": {"outcome": "passed", "duration": 0.00048051400000304056}, "setup": {"outcome": "passed", "duration": 0.0009558980000008432}, "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.00017758999999273328}}, {"call": {"outcome": "passed", "duration": 0.0004246100000102615}, "setup": {"outcome": "passed", "duration": 0.0003600089999906686}, "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.00019406100000196602}}, {"call": {"outcome": "passed", "duration": 0.00042449000000033266}, "setup": {"outcome": "passed", "duration": 0.0003331690000152321}, "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.0001755870000010873}}, {"call": {"outcome": "passed", "duration": 0.23465969999998038}, "setup": {"outcome": "passed", "duration": 0.0015331820000028529}, "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.00020506199999204}}, {"call": {"outcome": "passed", "duration": 1.238823568999976}, "setup": {"outcome": "passed", "duration": 0.00035193499999763844}, "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.00021264599999426537}}, {"call": {"outcome": "passed", "duration": 0.023302464000011014}, "setup": {"outcome": "passed", "duration": 0.0004086110000116605}, "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.00018386200000009012}}, {"call": {"outcome": "passed", "duration": 0.011846120000001292}, "setup": {"outcome": "passed", "duration": 0.0003529079999964324}, "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.00020027200000072298}}, {"call": {"outcome": "passed", "duration": 0.015470840000006092}, "setup": {"outcome": "passed", "duration": 0.00034236799999121104}, "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.00018165799997404974}}, {"call": {"outcome": "passed", "duration": 0.004155107999991969}, "setup": {"outcome": "passed", "duration": 0.00034247699997536074}, "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.0001911660000075699}}, {"call": {"outcome": "passed", "duration": 0.0936642619999759}, "setup": {"outcome": "passed", "duration": 0.00036723400000937545}, "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.000187229000005118}}, {"call": {"outcome": "passed", "duration": 0.05974776200000065}, "setup": {"outcome": "passed", "duration": 0.0003757890000031239}, "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.00018626700000368146}}, {"call": {"outcome": "passed", "duration": 0.37852204400002165}, "setup": {"outcome": "passed", "duration": 0.00037391600000091785}, "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.00032713900000658214}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008895870000174, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001322082000001501}, "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.0002235560000087844}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000724379000018871, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004071380000141289}, "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.0002229240000133359}}, {"call": {"outcome": "passed", "duration": 0.01688986199999931}, "setup": {"outcome": "passed", "duration": 0.00040279000000964515}, "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.0002152910000177144}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010283849999837003, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043577200000299854}, "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.0002094200000044566}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000792025000009744, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000435049999992998}, "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.00032282099999747516}}, {"call": {"outcome": "skipped", "duration": 0.00021017099999198763, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0005979029999991781}, "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.00017471500001420281}}, {"call": {"outcome": "skipped", "duration": 0.0002110030000039842, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003279400000053556}, "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.00017452500000558757}}, {"call": {"outcome": "failed", "duration": 0.005577397000024575, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/ascii/core.py:130: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003084239999964211}, "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.00018439300001205083}}, {"call": {"outcome": "failed", "duration": 0.0050123430000041935, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/ascii/core.py:198: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004836309999802779}, "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.00018799000000058186}}, {"call": {"outcome": "failed", "duration": 0.005212255999992976, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/ascii/core.py:270: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033970300000873976}, "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.00020549300000993753}}, {"call": {"outcome": "failed", "duration": 0.005105216999993445, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/ascii/core.py:380: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003233220000140591}, "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.0001900839999962045}}, {"call": {"outcome": "passed", "duration": 0.00042466099998250684}, "setup": {"outcome": "passed", "duration": 0.0012109749999922315}, "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.00019765799999049705}}, {"call": {"outcome": "passed", "duration": 0.0013173529999903622}, "setup": {"outcome": "passed", "duration": 0.00033900200000402947}, "lineno": 28, "nodeid": "io/ascii/tests/test_ascii.py::TestASCII::test_read_slist_file_single_trace", "outcome": "passed", "keywords": ["test_read_slist_file_single_trace", "filterwarnings", "TestASCII", "test_ascii.py", "tests", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018120800001497628}}, {"call": {"outcome": "passed", "duration": 0.001972632999979851}, "setup": {"outcome": "passed", "duration": 0.00034054399998240115}, "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.0001812870000037492}}, {"call": {"outcome": "passed", "duration": 0.0008593400000052043}, "setup": {"outcome": "passed", "duration": 0.0003431890000058502}, "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.00019761800001560914}}, {"call": {"outcome": "passed", "duration": 0.0012175880000029338}, "setup": {"outcome": "passed", "duration": 0.00034053400000289}, "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.00017985499999895183}}, {"call": {"outcome": "passed", "duration": 0.0003819209999846862}, "setup": {"outcome": "passed", "duration": 0.00035626299998625655}, "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.0001946120000013707}}, {"call": {"outcome": "passed", "duration": 0.001673937000020942}, "setup": {"outcome": "passed", "duration": 0.0003329700000165303}, "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.00020532199999934164}}, {"call": {"outcome": "passed", "duration": 0.002970731999994314}, "setup": {"outcome": "passed", "duration": 0.00033719799998266353}, "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.0001824500000111584}}, {"call": {"outcome": "passed", "duration": 0.0010850310000023455}, "setup": {"outcome": "passed", "duration": 0.00036794499999359687}, "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.0001764290000210167}}, {"call": {"outcome": "passed", "duration": 0.0012837009999770999}, "setup": {"outcome": "passed", "duration": 0.00033340999999609267}, "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.00017776100000332917}}, {"call": {"outcome": "passed", "duration": 0.0023342570000011165}, "setup": {"outcome": "passed", "duration": 0.00035414900000318994}, "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.00018206900000450332}}, {"call": {"outcome": "passed", "duration": 0.0022842139999852407}, "setup": {"outcome": "passed", "duration": 0.0003671139999994466}, "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.000181497999989233}}, {"call": {"outcome": "passed", "duration": 0.0017037529999868184}, "setup": {"outcome": "passed", "duration": 0.0003766110000071876}, "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.00018260999999597516}}, {"call": {"outcome": "passed", "duration": 0.03259039900001426}, "setup": {"outcome": "passed", "duration": 0.000361934000011388}, "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.0001822689999926297}}, {"call": {"outcome": "passed", "duration": 0.001973884999983966}, "setup": {"outcome": "passed", "duration": 0.0003668729999901643}, "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.00018314100000793587}}, {"call": {"outcome": "passed", "duration": 0.0019498909999811076}, "setup": {"outcome": "passed", "duration": 0.00034775700001432597}, "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.00019998199999804456}}, {"call": {"outcome": "passed", "duration": 0.0014307449999932942}, "setup": {"outcome": "passed", "duration": 0.00034313899999460773}, "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.00018235999999660635}}, {"call": {"outcome": "passed", "duration": 0.004070239000014908}, "setup": {"outcome": "passed", "duration": 0.0003693980000036845}, "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.000202988000012283}}, {"call": {"outcome": "passed", "duration": 0.019348780999990822}, "setup": {"outcome": "passed", "duration": 0.0002965220000135105}, "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.00018447300001867006}}, {"call": {"outcome": "passed", "duration": 0.035182797000004484}, "setup": {"outcome": "passed", "duration": 0.00030407700000978366}, "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.0001907149999738067}}, {"call": {"outcome": "passed", "duration": 0.00031508700001836587}, "setup": {"outcome": "passed", "duration": 0.0003050179999775082}, "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.00017528600000105143}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008896969999909743, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003444009999782338}, "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.00018516500000487213}}, {"call": {"outcome": "passed", "duration": 0.0012365030000012212}, "setup": {"outcome": "passed", "duration": 0.00035299699999313816}, "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.00017757100002313564}}, {"call": {"outcome": "passed", "duration": 0.0008526969999991252}, "setup": {"outcome": "passed", "duration": 0.00036780499999622407}, "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.0002685700000029101}}, {"call": {"outcome": "failed", "duration": 0.00504398299997888, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/cmtsolution/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005698610000024473}, "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.0001899740000226302}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007340470000087862, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008862900000110585}, "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.00020675499999356362}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007382250000205204, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003419069999779367}, "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.0002014049999843337}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00039575700000682446, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034722600000236525}, "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.00018495399999096662}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00038180100000317907, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003605710000158524}, "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.00020111499998165527}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003997450000099434, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034289800001374715}, "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.0001871279999932085}}, {"call": {"outcome": "passed", "duration": 0.004764782999984618}, "setup": {"outcome": "passed", "duration": 0.0003423269999984768}, "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.00018426299999418916}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000752973000004431, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034768700001563957}, "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.00018553600000359438}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00039730999998255356, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003427380000005087}, "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.00018374199999016128}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007015070000022661, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003768119999847386}, "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.0002580610000109118}}, {"call": {"outcome": "passed", "duration": 0.025278313999990587}, "setup": {"outcome": "passed", "duration": 0.001102894000013066}, "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.00030235300002345866}}, {"call": {"outcome": "passed", "duration": 0.0005558249999921827}, "setup": {"outcome": "passed", "duration": 0.01547689099999161}, "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.00020159499999294894}}, {"call": {"outcome": "passed", "duration": 0.0005565559999922698}, "setup": {"outcome": "passed", "duration": 0.014704292999994095}, "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.00019952200000261655}}, {"call": {"outcome": "passed", "duration": 0.00031002699998339267}, "setup": {"outcome": "passed", "duration": 0.014781055000014476}, "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.00019875000000979526}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008010809999916546, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.01467444700000442}, "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.00022812500000668479}}, {"call": {"outcome": "passed", "duration": 0.0022552700000062487}, "setup": {"outcome": "passed", "duration": 0.014671410999994805}, "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.00020452100000056816}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007479829999965659, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.01471557299998949}, "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.00021552200001906385}}, {"call": {"outcome": "passed", "duration": 0.0022784829999977774}, "setup": {"outcome": "passed", "duration": 0.015211155999992343}, "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.00020395000001371955}}, {"call": {"outcome": "passed", "duration": 0.003932131999988542}, "setup": {"outcome": "passed", "duration": 0.014612190999997665}, "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.00020542300001125113}}, {"call": {"outcome": "passed", "duration": 0.001329185000003008}, "setup": {"outcome": "passed", "duration": 0.014699293000006719}, "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.00035942899998531175}}, {"call": {"outcome": "passed", "duration": 0.06508227599999827}, "setup": {"outcome": "passed", "duration": 0.0005943760000093334}, "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.0002539129999945544}}, {"call": {"outcome": "failed", "duration": 0.005856074999996963, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/csv/__init__.py:13: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000601670999998305}, "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.0001879699999847162}}, {"call": {"outcome": "failed", "duration": 0.00426129499999206, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/csv/core.py:395: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003823429999840755}, "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.00018531499998175605}}, {"call": {"outcome": "failed", "duration": 0.005437835999998697, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/csv/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003451729999994768}, "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.00018661799998653805}}, {"call": {"outcome": "failed", "duration": 0.004128568999988147, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/csv/core.py:274: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032563600001367377}, "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.00019006400000876056}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012826790000133315, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006346319999863681}, "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.00018965299997830698}}, {"call": {"outcome": "passed", "duration": 0.015488021999999546}, "setup": {"outcome": "passed", "duration": 0.00032063700001572215}, "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.00020228700000757271}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011200760000065202, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003029750000109743}, "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.0001885009999966769}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001088416999976971, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003050779999966835}, "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.00020546200002513615}}, {"call": {"outcome": "passed", "duration": 0.00038277300001254844}, "setup": {"outcome": "passed", "duration": 0.0003020830000082242}, "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.00017535699998916243}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0033250619999876108, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002936470000065583}, "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.00020477199998936157}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012808560000223679, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029669299999568466}, "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.00018704800001501098}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0031722580000064227, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030147100000021965}, "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.00020374999999717147}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001102933999987954, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030536799999936193}, "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.0001858969999943838}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011107290000040848, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003207569999972293}, "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.00019055500001741166}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011172609999903216, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031075900000132606}, "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.00018618699999706223}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011067009999976563, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030794300002412456}, "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.00019585399999755282}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003613740000020016, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030647099998759586}, "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.0002093500000057702}}, {"call": {"outcome": "failed", "duration": 0.005948025999998663, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/cybershake/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006193140000050334}, "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.00020213599998442078}}, {"call": {"outcome": "passed", "duration": 0.0003523759999950471}, "setup": {"outcome": "passed", "duration": 0.0006624030000068615}, "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.00018130799998061775}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019810180000092714, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035416000000054737}, "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.0002858720000062931}}, {"call": {"outcome": "failed", "duration": 0.005945421000006945, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/dmx/__init__.py:28: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006259449999959088}, "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.00018911199998683514}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008065119999969284, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008891360000120585}, "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.00018734799999720053}}, {"call": {"outcome": "passed", "duration": 0.0018680280000182847}, "setup": {"outcome": "passed", "duration": 0.00035903899998857014}, "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.00018478399999821704}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008147880000137775, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003738960000134739}, "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.00018782000000783228}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008055000000126711, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036465900001303453}, "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.0002602339999953074}}, {"call": {"outcome": "passed", "duration": 0.00027826799998820206}, "setup": {"outcome": "passed", "duration": 0.0012603670000146394}, "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.00019970200000329896}}, {"call": {"outcome": "passed", "duration": 0.0031981850000022405}, "setup": {"outcome": "passed", "duration": 0.0005748299999766004}, "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.00022216299998945033}}, {"call": {"outcome": "passed", "duration": 0.0038370560000089426}, "setup": {"outcome": "passed", "duration": 0.0004950219999955152}, "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.00020669500000281005}}, {"call": {"outcome": "passed", "duration": 0.0037391030000151204}, "setup": {"outcome": "passed", "duration": 0.0005400350000002163}, "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.0002061540000113382}}, {"call": {"outcome": "passed", "duration": 0.0060386860000107845}, "setup": {"outcome": "passed", "duration": 0.0004967449999924156}, "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.00022076199999787605}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006917180000129974, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005360380000070109}, "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.0002214129999913439}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007029289999991306, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005234439999810547}, "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.00020721699999626253}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007767660000013166, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005134360000056404}, "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.00035429999999792017}}, {"call": {"outcome": "failed", "duration": 0.0067035940000153005, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/gcf/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006291620000240528}, "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.00019376099999135477}}, {"call": {"outcome": "passed", "duration": 0.007264977999994926}, "setup": {"outcome": "passed", "duration": 0.00041408100000239756}, "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.0002009440000279028}}, {"call": {"outcome": "skipped", "duration": 0.00022670299998139853, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003216789999953562}, "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.0001814290000083929}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008058509999955277, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009057370000107312}, "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.0001858560000016496}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001147357000007787, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036699400001793947}, "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.0001891320000027008}}, {"call": {"outcome": "passed", "duration": 0.0012710770000126104}, "setup": {"outcome": "passed", "duration": 0.00034508300001334646}, "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.00018279099998608217}}, {"call": {"outcome": "passed", "duration": 0.0010897699999929955}, "setup": {"outcome": "passed", "duration": 0.00036322599999039085}, "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.00018131799998855058}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008027249999997821, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003427780000038183}, "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.00018910200000732402}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000797404999985929, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003488600000025599}, "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.00018868099999735932}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008151780000105191, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034409100001653314}, "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.00020929999999452775}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009197029999938877, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034483199999613134}, "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.00018985299999485505}}, {"call": {"outcome": "passed", "duration": 0.009879648000008956}, "setup": {"outcome": "passed", "duration": 0.0002989970000157882}, "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.00018702799999914532}}, {"call": {"outcome": "passed", "duration": 0.16360325300001932}, "setup": {"outcome": "passed", "duration": 0.0003457339999783926}, "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.00023472700002002966}}, {"call": {"outcome": "passed", "duration": 0.0021098490000213133}, "setup": {"outcome": "passed", "duration": 0.00039371299999402254}, "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.00030055900001002556}}, {"call": {"outcome": "failed", "duration": 0.00764975599997797, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/gse2/__init__.py:25: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006403219999810972}, "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.00018968300000210547}}, {"call": {"outcome": "failed", "duration": 0.007265138999997589, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/gse2/bulletin.py:1127: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003843150000193418}, "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.0001984189999859609}}, {"call": {"outcome": "failed", "duration": 0.006660464000020738, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/gse2/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003501919999848724}, "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.00018241999998735992}}, {"call": {"outcome": "failed", "duration": 0.006716337000000294, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/gse2/core.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032148799999731636}, "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.00018903200000863762}}, {"call": {"outcome": "failed", "duration": 0.005218076999994992, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/gse2/core.py:92: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034782700001301237}, "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.000192718999983299}}, {"call": {"outcome": "passed", "duration": 0.0026782369999978073}, "setup": {"outcome": "passed", "duration": 0.00038400500000079774}, "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.0002090689999931783}}, {"call": {"outcome": "passed", "duration": 0.002767603999984658}, "setup": {"outcome": "passed", "duration": 0.0003909480000174881}, "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.00018050599999241967}}, {"call": {"outcome": "passed", "duration": 0.0026140180000027158}, "setup": {"outcome": "passed", "duration": 0.0003362660000050255}, "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.0001856160000102136}}, {"call": {"outcome": "passed", "duration": 0.017688810999999305}, "setup": {"outcome": "passed", "duration": 0.0008006310000041594}, "lineno": 27, "nodeid": "io/gse2/tests/test_bulletin.py::TestBulletin::test_catalog", "outcome": "passed", "keywords": ["test_catalog", "filterwarnings", "TestBulletin", "test_bulletin.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018711800001369738}}, {"call": {"outcome": "passed", "duration": 0.016274726999995437}, "setup": {"outcome": "passed", "duration": 0.000337648999988005}, "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.00018578599997454148}}, {"call": {"outcome": "passed", "duration": 0.016273194000007152}, "setup": {"outcome": "passed", "duration": 0.0003584879999891655}, "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.00021658299999671726}}, {"call": {"outcome": "passed", "duration": 0.016229250999998612}, "setup": {"outcome": "passed", "duration": 0.00033629599997198056}, "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.00018393300001662283}}, {"call": {"outcome": "passed", "duration": 0.01615889100000345}, "setup": {"outcome": "passed", "duration": 0.0003372980000051484}, "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.00020285799999442133}}, {"call": {"outcome": "passed", "duration": 0.016125509000005422}, "setup": {"outcome": "passed", "duration": 0.0003308959999799299}, "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.00018352200001459096}}, {"call": {"outcome": "passed", "duration": 0.03804761199998552}, "setup": {"outcome": "passed", "duration": 0.0003512849999935952}, "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.00018546500001548338}}, {"call": {"outcome": "passed", "duration": 0.016149382999998352}, "setup": {"outcome": "passed", "duration": 0.00033421199998429074}, "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.0001828709999927014}}, {"call": {"outcome": "passed", "duration": 0.028344333000006827}, "setup": {"outcome": "passed", "duration": 0.00035066300000607953}, "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.00018367199999147488}}, {"call": {"outcome": "passed", "duration": 0.016459171000008155}, "setup": {"outcome": "passed", "duration": 0.0003313070000103835}, "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.00018457400000215785}}, {"call": {"outcome": "passed", "duration": 0.02633327799998142}, "setup": {"outcome": "passed", "duration": 0.000333631000017931}, "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.00018380200000933655}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007802930000195829, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035497099997883197}, "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.00018629699999905824}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007640820000176518, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003491800000006151}, "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.0001839219999908437}}, {"call": {"outcome": "passed", "duration": 0.028410705999988295}, "setup": {"outcome": "passed", "duration": 0.0003410250000115411}, "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.00019974200000660858}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007348080000042501, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003329900000039743}, "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.00018325199999935649}}, {"call": {"outcome": "passed", "duration": 0.007723381999994672}, "setup": {"outcome": "passed", "duration": 0.000322300000021869}, "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.00023466599998300808}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008134550000136187, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007367820000183656}, "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.0001838219999967805}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008107099999961065, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035539199998879667}, "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.00018507400000089547}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010221530000080747, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036070199999471697}, "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.00018607600000564162}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010447059999876274, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034166599999707614}, "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.00019161700001291138}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004492185000003701, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030213300001946664}, "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.00018531500001017776}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007815750000190747, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003401440000061484}, "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.00020446999999990112}}, {"call": {"outcome": "passed", "duration": 0.0010752830000058111}, "setup": {"outcome": "passed", "duration": 0.0003030439999918144}, "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.00018067700000301556}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008118420000187143, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003916599999911341}, "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.00018693799998459326}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008006509999916034, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036470899999585527}, "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.00019028500000217718}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007999390000179574, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000363878000001705}, "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.00018325100000993189}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00100167600001555, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003595900000163965}, "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.00018911199998683514}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008632379999937712, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035309800000504765}, "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.00018777999997610095}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007601949999980206, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003424980000090727}, "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.00018474399999490743}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008527679999872362, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003389110000000528}, "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.0001822089999734544}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001980446999994001, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031192100001931067}, "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.0002103019999992739}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007901609999976245, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034782800000243697}, "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.00025768899999434325}}, {"call": {"outcome": "passed", "duration": 0.006123582999975952}, "setup": {"outcome": "passed", "duration": 0.0007422719999965466}, "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.00025912300000641153}}, {"call": {"outcome": "passed", "duration": 0.0013527289999899494}, "setup": {"outcome": "passed", "duration": 0.000775363999991896}, "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.00017988500002275032}}, {"call": {"outcome": "passed", "duration": 0.0022221680000029664}, "setup": {"outcome": "passed", "duration": 0.0003442109999980403}, "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.00017876300000807532}}, {"call": {"outcome": "passed", "duration": 0.018763170999989143}, "setup": {"outcome": "passed", "duration": 0.0003358949999778815}, "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.00019247899999186302}}, {"call": {"outcome": "passed", "duration": 0.018368465999998307}, "setup": {"outcome": "passed", "duration": 0.0003578970000148729}, "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.00018095700002618287}}, {"call": {"outcome": "passed", "duration": 0.0003732350000120732}, "setup": {"outcome": "passed", "duration": 0.00033890099999212}, "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.00017628899999522218}}, {"call": {"outcome": "passed", "duration": 0.0002809140000010757}, "setup": {"outcome": "passed", "duration": 0.0003531870000017534}, "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.0001907449999976052}}, {"call": {"outcome": "passed", "duration": 0.0004363630000057128}, "setup": {"outcome": "passed", "duration": 0.00028915799998685543}, "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.00017501499999639236}}, {"call": {"outcome": "passed", "duration": 0.00047400200000424775}, "setup": {"outcome": "passed", "duration": 0.0002958709999916209}, "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.00017800100002318686}}, {"call": {"outcome": "passed", "duration": 0.0005170430000021042}, "setup": {"outcome": "passed", "duration": 0.00040517400000794623}, "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.00017789100002119085}}, {"call": {"outcome": "passed", "duration": 0.0004131090000214499}, "setup": {"outcome": "passed", "duration": 0.0003750980000063464}, "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.0001939109999966604}}, {"call": {"outcome": "passed", "duration": 0.0006607310000106281}, "setup": {"outcome": "passed", "duration": 0.0003350039999929777}, "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.00019745800000237068}}, {"call": {"outcome": "passed", "duration": 0.0006075609999811604}, "setup": {"outcome": "passed", "duration": 0.0003400639999995292}, "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.0002485729999932573}}, {"call": {"outcome": "passed", "duration": 0.0002777579999815316}, "setup": {"outcome": "passed", "duration": 0.0003848070000174175}, "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.0001763980000077936}}, {"call": {"outcome": "passed", "duration": 0.00030839400000104433}, "setup": {"outcome": "passed", "duration": 0.0003137949999825196}, "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.00017951399999560635}}, {"call": {"outcome": "failed", "duration": 0.0062877689999822906, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/hypodd/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006562119999955485}, "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.00021301699999298762}}, {"call": {"outcome": "passed", "duration": 0.0003213190000224131}, "setup": {"outcome": "passed", "duration": 0.0010062940000068465}, "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.00020054399999480665}}, {"call": {"outcome": "passed", "duration": 0.0002674779999836119}, "setup": {"outcome": "passed", "duration": 0.0004270649999966736}, "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.00020595300000536554}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007400679999989279, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003962380000075427}, "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.00022311500001137574}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006911069999944175, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004104340000026241}, "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.00022279500001332053}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.054696004999982506, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005911009999977068}, "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.00021774600000412647}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007091610000031778, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000447153000010303}, "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.00020097500001270419}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006993330000000242, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041869000000360757}, "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.0001981990000103906}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.010612030999993749, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042061299998863433}, "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.0003759700000216526}}, {"call": {"outcome": "passed", "duration": 0.2077697689999809}, "setup": {"outcome": "passed", "duration": 0.0012132500000063828}, "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.00021404800000368596}}, {"call": {"outcome": "passed", "duration": 0.4094845520000092}, "setup": {"outcome": "passed", "duration": 0.0004647750000117412}, "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.0002605950000145185}}, {"call": {"outcome": "passed", "duration": 0.20314819299997566}, "setup": {"outcome": "passed", "duration": 0.00048008400000298934}, "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.00021637300000065807}}, {"call": {"outcome": "passed", "duration": 0.21354159800000616}, "setup": {"outcome": "passed", "duration": 0.0004442780000033508}, "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.00021646300001521013}}, {"call": {"outcome": "passed", "duration": 0.00029064099999231985}, "setup": {"outcome": "passed", "duration": 0.0004366730000242569}, "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.000199680999969587}}, {"call": {"outcome": "passed", "duration": 0.0003862789999971028}, "setup": {"outcome": "passed", "duration": 0.0004066770000008546}, "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.00019715700000233483}}, {"call": {"outcome": "passed", "duration": 0.0002960409999559488}, "setup": {"outcome": "passed", "duration": 0.0004162750000205051}, "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.0003352140000174586}}, {"call": {"outcome": "failed", "duration": 0.004900356000007378, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/json/default.py:16: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000706304999994245}, "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.00020437099999526254}}, {"call": {"outcome": "passed", "duration": 0.0007024579999779235}, "setup": {"outcome": "passed", "duration": 0.004164405000040006}, "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.00021609200001648787}}, {"call": {"outcome": "passed", "duration": 0.000955648999990899}, "setup": {"outcome": "passed", "duration": 0.003715689999978622}, "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.00019355099999529557}}, {"call": {"outcome": "passed", "duration": 0.010669859000017823}, "setup": {"outcome": "passed", "duration": 0.0036112949999846933}, "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.0002164830000310758}}, {"call": {"outcome": "failed", "duration": 0.0071892379999667355, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/kinemetrics/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006792749999817715}, "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.00018754900003159491}}, {"call": {"outcome": "passed", "duration": 0.0007539540000038869}, "setup": {"outcome": "passed", "duration": 0.0009835010000074362}, "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.0001834710000139239}}, {"call": {"outcome": "passed", "duration": 0.0005911409999725947}, "setup": {"outcome": "passed", "duration": 0.00036125200000469704}, "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.0001821289999952569}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008216499999775806, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035122400004183874}, "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.00018316199998480442}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008463159999791969, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003645489999826168}, "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.00018134800001234908}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006011990000160949, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036258500000485583}, "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.0002012950000107594}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000489511000012044, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003389010000205417}, "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.00019316999998864048}}, {"call": {"outcome": "passed", "duration": 0.04173885599999494}, "setup": {"outcome": "passed", "duration": 0.0003410549999784962}, "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.00018993300000147428}}, {"call": {"outcome": "passed", "duration": 0.0977360339999791}, "setup": {"outcome": "passed", "duration": 0.00034282799998663904}, "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.00019329999997808045}}, {"call": {"outcome": "passed", "duration": 0.14204373400002623}, "setup": {"outcome": "passed", "duration": 0.00034722600003078696}, "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.0002058330000522801}}, {"call": {"outcome": "passed", "duration": 0.042155822999973225}, "setup": {"outcome": "passed", "duration": 0.0003519960000062383}, "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.00029060100001743194}}, {"call": {"outcome": "failed", "duration": 0.06009382599995661, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/kml/__init__.py:15: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000733727000010731}, "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.0001916969999911089}}, {"call": {"outcome": "passed", "duration": 0.06600931299999502}, "setup": {"outcome": "passed", "duration": 0.0010173950000194054}, "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.00018776999996816812}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011008609999976215, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003517049999572919}, "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.0002712450000217359}}, {"call": {"outcome": "failed", "duration": 0.007700429999999869, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/mseed/__init__.py:31: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006649789999642053}, "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.0001851850000207378}}, {"call": {"outcome": "failed", "duration": 0.00721679899999117, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/mseed/core.py:377: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00043610199998056487}, "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.00018524500001149136}}, {"call": {"outcome": "failed", "duration": 0.0053785360000233595, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/mseed/core.py:817: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032855199998493845}, "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.00018962400002919821}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0031021870000245144, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011566339999831143}, "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.00020588399996768203}}, {"call": {"outcome": "passed", "duration": 0.0071717349999858016}, "setup": {"outcome": "passed", "duration": 0.0003421069999944848}, "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.0001990110000065215}}, {"call": {"outcome": "passed", "duration": 0.3122579070000029}, "setup": {"outcome": "passed", "duration": 0.0003468460000135565}, "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.00018534500003397625}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012584140000058142, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003087950000235651}, "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.00018332199999804288}}, {"call": {"outcome": "passed", "duration": 0.002252924999993411}, "setup": {"outcome": "passed", "duration": 0.00038278300002048127}, "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.0001918779999527942}}, {"call": {"outcome": "passed", "duration": 0.00549426200001335}, "setup": {"outcome": "passed", "duration": 0.00033543400002145063}, "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.00017598800002360804}}, {"call": {"outcome": "passed", "duration": 0.001776637999967079}, "setup": {"outcome": "passed", "duration": 0.00033358100000668856}, "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.0001736930000220127}}, {"call": {"outcome": "passed", "duration": 0.0004885600000079648}, "setup": {"outcome": "passed", "duration": 0.0003370670000322207}, "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.0001718600000231163}}, {"call": {"outcome": "passed", "duration": 0.014138278000018545}, "setup": {"outcome": "passed", "duration": 0.00035460999998804255}, "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.00019964199998412369}}, {"call": {"outcome": "passed", "duration": 0.0009830700000179604}, "setup": {"outcome": "passed", "duration": 0.0003471759999911228}, "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.00018456399999422501}}, {"call": {"outcome": "passed", "duration": 0.0009493379999980789}, "setup": {"outcome": "passed", "duration": 0.00035812700002679776}, "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.00017718100002639403}}, {"call": {"outcome": "passed", "duration": 0.000981136999996579}, "setup": {"outcome": "passed", "duration": 0.0003632459999494131}, "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.00017570799997201902}}, {"call": {"outcome": "passed", "duration": 0.0006569829999989452}, "setup": {"outcome": "passed", "duration": 0.00033997299999555253}, "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.00017598699997734002}}, {"call": {"outcome": "passed", "duration": 0.2029193060000125}, "setup": {"outcome": "passed", "duration": 0.00034233799999583425}, "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.00018886199995904462}}, {"call": {"outcome": "passed", "duration": 0.003732460999970044}, "setup": {"outcome": "passed", "duration": 0.000344852000011997}, "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.00019041499996319544}}, {"call": {"outcome": "passed", "duration": 0.0014272079999955167}, "setup": {"outcome": "passed", "duration": 0.00030214200000955316}, "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.00018523500000355853}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008869520000303055, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036171400000739595}, "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.00019620599999825572}}, {"call": {"outcome": "passed", "duration": 0.0066580480000197895}, "setup": {"outcome": "passed", "duration": 0.00030337499998722706}, "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.0001782620000199131}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002156535999972675, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032271100002390085}, "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.00018426300005103258}}, {"call": {"outcome": "passed", "duration": 0.0012854739999852427}, "setup": {"outcome": "passed", "duration": 0.0003429889999893021}, "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.00017495599996664168}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012093419999814614, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034313899999460773}, "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.0001866680000262022}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019306350000078965, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003104190000158269}, "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.00021000099997081634}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002760830999989139, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029728399999839894}, "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.000227322999990065}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008132449999607161, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003251559999739584}, "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.00019994300004100296}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009228280000002087, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033624600001758154}, "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.00020424999996748738}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007526819999839063, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034096500002078756}, "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.00020069400000011228}}, {"call": {"outcome": "passed", "duration": 0.0013986650000106238}, "setup": {"outcome": "passed", "duration": 0.0002977640000381143}, "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.00017754000003833426}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004155217000004541, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029957799995372625}, "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.00018320100002711115}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007684000000267588, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003391919999558013}, "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.00020395900003222778}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008821729999795025, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003270190000534967}, "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.0001992910000012671}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007587030000308914, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033239900000126}, "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.00019543400003385614}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0028390980000381205, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002926049999700808}, "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.0001821989999939433}}, {"call": {"outcome": "passed", "duration": 0.0013249970000401845}, "setup": {"outcome": "passed", "duration": 0.00029752400001825663}, "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.00017716000002110377}}, {"call": {"outcome": "passed", "duration": 0.0003735550000101284}, "setup": {"outcome": "passed", "duration": 0.0003587479999964671}, "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.00018787999999858584}}, {"call": {"outcome": "passed", "duration": 0.0002982450000104109}, "setup": {"outcome": "passed", "duration": 0.00033565499995802384}, "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.00016597899997350396}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008120510000253489, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034637499999234933}, "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.00018196899998201843}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00253389499999912, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003436889999761661}, "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.00018672800001695578}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017219030000319435, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002963619999718503}, "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.00020507100003896994}}, {"call": {"outcome": "passed", "duration": 0.0016408129999945231}, "setup": {"outcome": "passed", "duration": 0.00029589099995064316}, "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.0001798440000015944}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007969419999653837, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003416860000129418}, "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.00018339100000730468}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007840290000444838, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003419259999759561}, "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.00018080600000303093}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000839172000041799, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033713699997406366}, "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.00018102699999644756}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022578809999913574, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029591100002335224}, "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.00018400300001530923}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007480120000309398, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036041999999270047}, "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.00018349100002978957}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007487629999900491, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033495299999231065}, "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.00019881000002897053}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007659650000277907, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1354, in test_reading_dwwssn_format\n    tr = read(testdata['DWWSSN_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033548400000427137}, "lineno": 1349, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_reading_dwwssn_format", "outcome": "failed", "keywords": ["test_reading_dwwssn_format", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018672699997068776}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007578100000387167, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033994199998232943}, "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.00019149600001355793}}, {"call": {"outcome": "passed", "duration": 0.004952452999987145}, "setup": {"outcome": "passed", "duration": 0.0002990170000316539}, "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.0002469390000214844}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024095729999658033, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004671190000067327}, "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.000188640999965628}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005076049999956922, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003515639999704945}, "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.0002099209999641971}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001141012999994473, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003685959999870647}, "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.00018923199996834228}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014123569999924257, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003014100000200415}, "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.0002630199999771321}}, {"call": {"outcome": "passed", "duration": 0.000562666000007539}, "setup": {"outcome": "passed", "duration": 0.0004874570000197309}, "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.00017792100004498934}}, {"call": {"outcome": "passed", "duration": 0.0005002500000159671}, "setup": {"outcome": "passed", "duration": 0.00034972100002050865}, "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.00017584700003681064}}, {"call": {"outcome": "passed", "duration": 0.0005635279999864906}, "setup": {"outcome": "passed", "duration": 0.00033597599997392535}, "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.00017944400002534167}}, {"call": {"outcome": "passed", "duration": 0.0015617260000340139}, "setup": {"outcome": "passed", "duration": 0.0008196649999945294}, "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.00018495400001938833}}, {"call": {"outcome": "passed", "duration": 0.0016742249999879277}, "setup": {"outcome": "passed", "duration": 0.0003511229999730858}, "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.00018176800000446747}}, {"call": {"outcome": "passed", "duration": 0.0013685259999647315}, "setup": {"outcome": "passed", "duration": 0.0003530769999997574}, "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.00020695499995326827}}, {"call": {"outcome": "passed", "duration": 0.0014072779999878549}, "setup": {"outcome": "passed", "duration": 0.00033519400000159294}, "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.00018228900000849535}}, {"call": {"outcome": "passed", "duration": 0.0017802520000032018}, "setup": {"outcome": "passed", "duration": 0.00034669499996198283}, "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.0001802350000161823}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008848460000194791, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036698200000273573}, "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.00018513399999164903}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000879816999997729, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036495999995622697}, "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.00020345899997664674}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007975240000064332, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035277699998914613}, "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.00019037399999888294}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007682789999989836, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003937319999636202}, "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.00018576599995867582}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007598340000072312, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003857579999930749}, "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.0001849440000114555}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007837080000285823, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003898360000107459}, "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.0001918670000122802}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002341716999978871, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003964680000194676}, "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.00020612399998753972}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016924689999768816, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036905700000033903}, "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.0001896229999829302}}, {"call": {"outcome": "passed", "duration": 0.00036979800000835894}, "setup": {"outcome": "passed", "duration": 0.0003742259999626185}, "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.00017546599997331214}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007688609999831897, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003881420000197977}, "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.00018549600002870648}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007904710000161685, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003892640000344727}, "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.00019116499998972358}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021409529999800725, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003339519999485674}, "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.00018904200004499216}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021403220000024703, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032787899999675574}, "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.00018485399999690344}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000800038000022596, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003646480000156771}, "lineno": 566, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue485", "outcome": "failed", "keywords": ["test_issue485", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018756899999061716}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012250689999859787, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003371170000150414}, "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.00018538500000886415}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013013909999699536, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034703599999375}, "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.00018492399999558984}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008013409999989562, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003678440000385308}, "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.00018471300001010604}}, {"call": {"stderr": "Process Process-1:\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/process.py\", line 314, in _bootstrap\n    self.run()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/process.py\", line 108, in run\n    self._target(*self._args, **self._kwargs)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.025806552000005922}, "setup": {"outcome": "passed", "duration": 0.00037729199999603225}, "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.0003351729999963027}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00301413799996908, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005812809999952151}, "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.00018649600002618172}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001135552999983247, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003739759999916714}, "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.00019052499999361316}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008912669999858736, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039273999999522857}, "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.00018693800001301497}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008772420000013881, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037963600004786713}, "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.0001907139999843821}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012135080000348353, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038235099998473743}, "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.0001885610000158522}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010741890000076637, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003877209999814113}, "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.00019799800003283963}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000819976000002498, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003613420000192491}, "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.00018960200003448335}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0035524790000067696, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003350430000068627}, "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.00020441099997015044}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007850110000049426, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003684850000240658}, "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.00020599300000867515}}, {"call": {"outcome": "passed", "duration": 0.0010551539999710258}, "setup": {"outcome": "passed", "duration": 0.00036575100000391103}, "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.00019764799998256422}}, {"call": {"outcome": "passed", "duration": 0.0008355649999884918}, "setup": {"outcome": "passed", "duration": 0.00036322500000096625}, "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.00019720699998515556}}, {"call": {"outcome": "passed", "duration": 0.0010864910000236705}, "setup": {"outcome": "passed", "duration": 0.0003683049999949617}, "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.0001841019999915261}}, {"call": {"outcome": "passed", "duration": 0.01110435900000084}, "setup": {"outcome": "passed", "duration": 0.00037422700000888653}, "lineno": 1131, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_file_with_non_valid_blocks_in_between", "outcome": "passed", "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.0002010239999776786}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007777470000291942, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000369477999981882}, "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.00036312599996790595}}, {"call": {"outcome": "passed", "duration": 0.0005900080000174057}, "setup": {"outcome": "passed", "duration": 0.0005882950000000164}, "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.00017888299998958246}}, {"call": {"outcome": "passed", "duration": 0.00039498500001400316}, "setup": {"outcome": "passed", "duration": 0.00032629700001507445}, "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.00017293199999812714}}, {"call": {"outcome": "passed", "duration": 0.0007894880000094417}, "setup": {"outcome": "passed", "duration": 0.0008608320000007552}, "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.00018346100000599108}}, {"call": {"outcome": "passed", "duration": 0.0004311920000077407}, "setup": {"outcome": "passed", "duration": 0.00036684299999478753}, "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.00018052600000828534}}, {"call": {"outcome": "passed", "duration": 0.0005068629999982477}, "setup": {"outcome": "passed", "duration": 0.0003636359999745764}, "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.00018052600000828534}}, {"call": {"outcome": "passed", "duration": 0.001413199000012355}, "setup": {"outcome": "passed", "duration": 0.00038649900000109483}, "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.00017968499997778054}}, {"call": {"outcome": "passed", "duration": 0.023479751999957443}, "setup": {"outcome": "passed", "duration": 0.00032534600001099534}, "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.00021151300001065465}}, {"call": {"outcome": "passed", "duration": 0.012443460999975287}, "setup": {"outcome": "passed", "duration": 0.0003367959999991399}, "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.0001859250000393331}}, {"call": {"outcome": "passed", "duration": 0.0032918940000286057}, "setup": {"outcome": "passed", "duration": 0.0004055449999782468}, "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.00018440299999156196}}, {"call": {"outcome": "passed", "duration": 0.005231553000044187}, "setup": {"outcome": "passed", "duration": 0.0004039719999582303}, "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.00020438999996486018}}, {"call": {"outcome": "passed", "duration": 0.0009882190000212177}, "setup": {"outcome": "passed", "duration": 0.0003699589999541786}, "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.0001817179999648033}}, {"call": {"outcome": "passed", "duration": 0.00097937200001752}, "setup": {"outcome": "passed", "duration": 0.0003823710000006031}, "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.00018178800002033313}}, {"call": {"outcome": "passed", "duration": 0.008094550000009804}, "setup": {"outcome": "passed", "duration": 0.00036889599999767597}, "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.0002083680000168897}}, {"call": {"outcome": "passed", "duration": 0.005808266000030926}, "setup": {"outcome": "passed", "duration": 0.0003732940000418239}, "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.00018454400003520277}}, {"call": {"outcome": "passed", "duration": 0.003707188000021233}, "setup": {"outcome": "passed", "duration": 0.00036730399995121843}, "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.00018567600000096718}}, {"call": {"outcome": "passed", "duration": 0.004121888999975454}, "setup": {"outcome": "passed", "duration": 0.00034944000003633846}, "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.0001817780000124003}}, {"call": {"outcome": "passed", "duration": 0.001606498000001011}, "setup": {"outcome": "passed", "duration": 0.0003306350000116254}, "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.00018297099995834287}}, {"call": {"outcome": "passed", "duration": 0.0014502390000075138}, "setup": {"outcome": "passed", "duration": 0.00037311399995587635}, "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.00021204500001203996}}, {"call": {"outcome": "passed", "duration": 0.020918147999964276}, "setup": {"outcome": "passed", "duration": 0.0003502920000073573}, "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.0001857560000075864}}, {"call": {"outcome": "passed", "duration": 0.0013911280000229453}, "setup": {"outcome": "passed", "duration": 0.000413358999992397}, "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.00018338199998879645}}, {"call": {"outcome": "passed", "duration": 0.0019555579999632755}, "setup": {"outcome": "passed", "duration": 0.0003870099999971899}, "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.00018390200000339973}}, {"call": {"outcome": "passed", "duration": 0.00044109099997058365}, "setup": {"outcome": "passed", "duration": 0.0003737249999744563}, "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.00017853200000672587}}, {"call": {"outcome": "passed", "duration": 0.0005125740000266887}, "setup": {"outcome": "passed", "duration": 0.0003967289999877721}, "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.00027154599996492834}}, {"call": {"outcome": "passed", "duration": 0.001967280000030769}, "setup": {"outcome": "passed", "duration": 0.0009851930000195352}, "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.00018799000002900357}}, {"call": {"outcome": "passed", "duration": 0.001587503999985529}, "setup": {"outcome": "passed", "duration": 0.00039072699996722804}, "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.00018351099998881182}}, {"call": {"outcome": "passed", "duration": 0.002431253999986893}, "setup": {"outcome": "passed", "duration": 0.0003942630000324243}, "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.00018482400002994837}}, {"call": {"outcome": "passed", "duration": 0.0011634239999693818}, "setup": {"outcome": "passed", "duration": 0.00038133900000048015}, "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.00018206900000450332}}, {"call": {"outcome": "passed", "duration": 0.0012312709999946492}, "setup": {"outcome": "passed", "duration": 0.00037202199996499985}, "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.0001840319999928397}}, {"call": {"outcome": "passed", "duration": 0.001190033999989737}, "setup": {"outcome": "passed", "duration": 0.00038981500000545566}, "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.0001804060000267782}}, {"call": {"outcome": "passed", "duration": 0.0012016260000109469}, "setup": {"outcome": "passed", "duration": 0.0003646179999918786}, "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.0002849500000365879}}, {"call": {"outcome": "passed", "duration": 0.019218726000019615}, "setup": {"outcome": "passed", "duration": 0.00041287800002010044}, "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.00018884099995375436}}, {"call": {"outcome": "passed", "duration": 0.006302785999992011}, "setup": {"outcome": "passed", "duration": 0.00032426299998178365}, "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.00018946300002653516}}, {"call": {"outcome": "passed", "duration": 0.007825388000014755}, "setup": {"outcome": "passed", "duration": 0.0003270880000059151}, "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.0002197590000037053}}, {"call": {"outcome": "failed", "duration": 0.007490365000023758, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/ndk/__init__.py:60: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007128160000320349}, "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.00019309900000052949}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.013993485000014516, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000951501000031385}, "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.00019191699999510092}}, {"call": {"outcome": "passed", "duration": 0.025629702999992787}, "setup": {"outcome": "passed", "duration": 0.00037848400000939364}, "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.00018614600003274973}}, {"call": {"outcome": "passed", "duration": 0.0006124700000214034}, "setup": {"outcome": "passed", "duration": 0.0003701689999502378}, "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.00018165799997404974}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007232460000068386, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035978899995825486}, "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.00018742800000381976}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003818100000216873, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036589999996294864}, "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.00018455399998629218}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003811089999885553, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033924199999546545}, "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.0001844529999743827}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003683850000015809, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036238399997046145}, "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.00020796699999436896}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00038180100000317907, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003439999999841348}, "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.00018742800000381976}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007088689999932285, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003571649999685178}, "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.00018497399997841057}}, {"call": {"outcome": "passed", "duration": 0.00031532700000980185}, "setup": {"outcome": "passed", "duration": 0.00036108200004036917}, "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.00019787799999448907}}, {"call": {"outcome": "passed", "duration": 0.00037953600002538224}, "setup": {"outcome": "passed", "duration": 0.00032998300002873293}, "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.00017829199998686818}}, {"call": {"outcome": "passed", "duration": 0.0003401429999598804}, "setup": {"outcome": "passed", "duration": 0.000337467999997898}, "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.00017657800003689772}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007143389999555438, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003354339999646072}, "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.0001876900000183923}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007177359999559485, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003605600000469167}, "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.00018942200000537923}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006878199999960088, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003388409999729447}, "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.0002012349999631624}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004123370000002069, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034152500001027875}, "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.00018155800000840827}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011565820000214444, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033634600004006643}, "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.00020693499999424603}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004471820000162552, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003413350000300852}, "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.00018266999995830702}}, {"call": {"outcome": "passed", "duration": 0.0018919899999900736}, "setup": {"outcome": "passed", "duration": 0.00031398400000171023}, "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.0002518789999612636}}, {"call": {"outcome": "failed", "duration": 0.007604126999979144, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/nied/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005963490000340244}, "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.00019852899998795692}}, {"call": {"outcome": "passed", "duration": 0.013025063000043247}, "setup": {"outcome": "passed", "duration": 0.0009176570000022366}, "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.00020160499997246006}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003831430000218461, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003466750000029606}, "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.000184974000035254}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003656099999602702, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035928900001636066}, "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.000204110000026958}}, {"call": {"outcome": "passed", "duration": 0.00042526099997530764}, "setup": {"outcome": "passed", "duration": 0.0003387700000416771}, "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.0002475709999885112}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008284419999995407, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006673620000015035}, "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.00018798000002107074}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009673589999579235, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003550199999722281}, "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.00018747900003290852}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004434250000144857, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003620440000418057}, "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.0002006639999763138}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007892780000133826, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034012300000085816}, "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.00020700499999293243}}, {"call": {"outcome": "passed", "duration": 0.0003599990000111575}, "setup": {"outcome": "passed", "duration": 0.0003404939999995804}, "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.00024563699997770527}}, {"call": {"outcome": "passed", "duration": 0.002712086000030922}, "setup": {"outcome": "passed", "duration": 0.00037097000000585467}, "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.00018100700003742531}}, {"call": {"outcome": "failed", "duration": 0.0076917899999671135, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/nlloc/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006094639999787432}, "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.00019383000000061656}}, {"call": {"outcome": "passed", "duration": 0.02268060599999444}, "setup": {"outcome": "passed", "duration": 0.0011408529999812345}, "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.00019688599996925404}}, {"call": {"outcome": "passed", "duration": 0.02018555400002242}, "setup": {"outcome": "passed", "duration": 0.00037531899999976304}, "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.0001872590000289165}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004979545000026064, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036361700000497876}, "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.00020532199999934164}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007101209999973435, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003413750000049731}, "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.00018917200003443213}}, {"call": {"outcome": "passed", "duration": 0.016337124999949992}, "setup": {"outcome": "passed", "duration": 0.00036206400000082795}, "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.00020002200000135417}}, {"call": {"outcome": "passed", "duration": 0.0003664919999550875}, "setup": {"outcome": "passed", "duration": 0.0003501510000205599}, "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.00020944999999983338}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007326829999669826, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035697399999889967}, "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.00018662799999447088}}, {"call": {"outcome": "passed", "duration": 0.004921476999982133}, "setup": {"outcome": "passed", "duration": 0.0003417959999865161}, "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.0001859960000274441}}, {"call": {"outcome": "passed", "duration": 0.0061590990000013335}, "setup": {"outcome": "passed", "duration": 0.00034267700004875223}, "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.00019669600004590393}}, {"call": {"outcome": "passed", "duration": 0.004434830999969108}, "setup": {"outcome": "passed", "duration": 0.00036354700000629236}, "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.00019874999998137355}}, {"call": {"outcome": "passed", "duration": 0.0033503029999906175}, "setup": {"outcome": "passed", "duration": 0.00033948200001532314}, "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.00018055600003208383}}, {"call": {"outcome": "passed", "duration": 0.0038733459999775732}, "setup": {"outcome": "passed", "duration": 0.0003417560000116282}, "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.00018138799998723698}}, {"call": {"outcome": "passed", "duration": 0.00023884399996632055}, "setup": {"outcome": "passed", "duration": 0.00029851499999722364}, "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.0002465989999791418}}, {"call": {"outcome": "passed", "duration": 0.0006143829999700756}, "setup": {"outcome": "passed", "duration": 0.0007113730000014584}, "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.0001799150000465488}}, {"call": {"outcome": "passed", "duration": 0.19221655199999077}, "setup": {"outcome": "passed", "duration": 0.0003511740000021746}, "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.000286393000010321}}, {"call": {"outcome": "passed", "duration": 0.002890748000027088}, "setup": {"outcome": "passed", "duration": 0.0006389480000166259}, "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.00018676700000241908}}, {"call": {"outcome": "passed", "duration": 0.031247273999952085}, "setup": {"outcome": "passed", "duration": 0.0006016099999897051}, "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.00018435200001931662}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05615454299999101, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007115839999869422}, "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.0001923680000004424}}, {"call": {"outcome": "passed", "duration": 0.004016011999965485}, "setup": {"outcome": "passed", "duration": 0.0003723519999994096}, "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.0001873389999786923}}, {"call": {"outcome": "passed", "duration": 0.030955600999959643}, "setup": {"outcome": "passed", "duration": 0.0003099969999880159}, "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.00018985299999485505}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002224118000015096, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030878500001563225}, "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.00018628700001954712}}, {"call": {"outcome": "passed", "duration": 0.0014442769999618577}, "setup": {"outcome": "passed", "duration": 0.0003228100000001177}, "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.0001833609999835062}}, {"call": {"outcome": "passed", "duration": 0.06623984599997357}, "setup": {"outcome": "passed", "duration": 0.0003453820000345331}, "lineno": 315, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_read_empty_header", "outcome": "passed", "keywords": ["test_read_empty_header", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001843140000232779}}, {"call": {"outcome": "passed", "duration": 0.02665554200001452}, "setup": {"outcome": "passed", "duration": 0.00034950000002709203}, "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.00018261000002439687}}, {"call": {"outcome": "passed", "duration": 0.005502387000035469}, "setup": {"outcome": "passed", "duration": 0.0003571249999936299}, "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.00018545599999697515}}, {"call": {"outcome": "passed", "duration": 0.0004631820000327025}, "setup": {"outcome": "passed", "duration": 0.0003631250000353248}, "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.00018112700001893245}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003973599999653743, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003550499999960266}, "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.00018453299998100192}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00039585600001146304, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033768899999131463}, "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.0002089989999944919}}, {"call": {"outcome": "passed", "duration": 0.0007111229999736679}, "setup": {"outcome": "passed", "duration": 0.0003655200000025616}, "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.000188219999984085}}, {"call": {"outcome": "passed", "duration": 0.20948409800001855}, "setup": {"outcome": "passed", "duration": 0.0003329290000237961}, "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.0001937300000349751}}, {"call": {"outcome": "passed", "duration": 0.00025195900002472627}, "setup": {"outcome": "passed", "duration": 0.0003063399999518879}, "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.00020416000000977874}}, {"call": {"outcome": "passed", "duration": 0.0002541829999813672}, "setup": {"outcome": "passed", "duration": 0.00029627100002471707}, "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.00018685800000639574}}, {"call": {"outcome": "passed", "duration": 0.021456629999988763}, "setup": {"outcome": "passed", "duration": 0.0003327890000264233}, "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.00018574500001022898}}, {"call": {"outcome": "passed", "duration": 0.014237046999994618}, "setup": {"outcome": "passed", "duration": 0.00034673499999371415}, "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.00018360100000336388}}, {"call": {"outcome": "passed", "duration": 0.043802682999967146}, "setup": {"outcome": "passed", "duration": 0.00036371700002746365}, "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.00018477400004712763}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003760987000021032, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035401899998532826}, "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.00018884100001059778}}, {"call": {"outcome": "passed", "duration": 0.5172461070000054}, "setup": {"outcome": "passed", "duration": 0.00034828799999786497}, "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.00019946099996559497}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012410389999786275, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003429180000011911}, "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.0002037190000123701}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011275879999743665, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003003190000185896}, "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.00018375200005493753}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001086771000018416, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003203660000394848}, "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.00018474399996648572}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.01728613000000223, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002983550000408286}, "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.00018806000002768997}}, {"call": {"outcome": "passed", "duration": 0.01494556500000499}, "setup": {"outcome": "passed", "duration": 0.00036716300002126445}, "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.00023093000004337227}}, {"call": {"outcome": "passed", "duration": 0.011353893999967113}, "setup": {"outcome": "passed", "duration": 0.00035840699996469993}, "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.00018487399995592568}}, {"call": {"outcome": "passed", "duration": 0.025220611999998255}, "setup": {"outcome": "passed", "duration": 0.00038661899998260196}, "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.00020217599995930868}}, {"call": {"outcome": "passed", "duration": 0.001766216000021359}, "setup": {"outcome": "passed", "duration": 0.0003453530000001592}, "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.00018007499994610043}}, {"call": {"outcome": "passed", "duration": 0.0012057330000061484}, "setup": {"outcome": "passed", "duration": 0.0003431679999721382}, "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.00017929399996319262}}, {"call": {"outcome": "passed", "duration": 0.007110038000007535}, "setup": {"outcome": "passed", "duration": 0.0003472760000136077}, "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.00019938999997748397}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007320219999655819, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003476359999581291}, "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.0002031679999845437}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.009212099000023954, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000298494999981358}, "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.00018961299997499736}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00930665499998895, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032429300000558214}, "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.0002061530000219136}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000711373999990883, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003412340000181757}, "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.00020076300000937408}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007306190000235802, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033548400000427137}, "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.00018414200002325742}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007264409999834243, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033825999997816325}, "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.0001833610000403496}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008788320000007843, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029563900000084686}, "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.0001857560000075864}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007560059999605073, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003454129999909128}, "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.00018402299997433147}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009390270000153578, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003431590000104734}, "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.00020445000001245717}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000738243999990118, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003454829999895992}, "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.00021908799999437178}}, {"call": {"outcome": "passed", "duration": 0.002259974000025977}, "setup": {"outcome": "passed", "duration": 0.00030269300003737953}, "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.0001896629999578181}}, {"call": {"outcome": "passed", "duration": 0.00039736899998388253}, "setup": {"outcome": "passed", "duration": 0.0003019410000320022}, "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.00017982499997515333}}, {"call": {"outcome": "passed", "duration": 0.0004720580000139307}, "setup": {"outcome": "passed", "duration": 0.0002952300000060859}, "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.00017751999996562517}}, {"call": {"outcome": "passed", "duration": 0.00036909699997522694}, "setup": {"outcome": "passed", "duration": 0.00029556999999158506}, "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.00017673900003956078}}, {"call": {"outcome": "passed", "duration": 0.0003886430000079599}, "setup": {"outcome": "passed", "duration": 0.0003235419999896294}, "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.00019369000000324377}}, {"call": {"outcome": "passed", "duration": 0.0009613490000219826}, "setup": {"outcome": "passed", "duration": 0.0002903500000002168}, "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.00017751100000396036}}, {"call": {"outcome": "passed", "duration": 0.0437324630000262}, "setup": {"outcome": "passed", "duration": 0.00047942100002273946}, "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.00030944600001703293}}, {"call": {"outcome": "passed", "duration": 0.04364420799998925}, "setup": {"outcome": "passed", "duration": 0.0004650949999813747}, "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.0002454069999657804}}, {"call": {"outcome": "passed", "duration": 0.0473396940000157}, "setup": {"outcome": "passed", "duration": 0.00045660000000680157}, "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.00024562699996977244}}, {"call": {"outcome": "passed", "duration": 0.08025816700001087}, "setup": {"outcome": "passed", "duration": 0.000551696999991691}, "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.00026560500003824927}}, {"call": {"outcome": "passed", "duration": 0.08061041299998806}, "setup": {"outcome": "passed", "duration": 0.0005637190000129522}, "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.000263819999986481}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008410849999904713, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037071999997806415}, "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.00018999399998165245}}, {"call": {"outcome": "passed", "duration": 0.014585915999987265}, "setup": {"outcome": "passed", "duration": 0.0003436490000012782}, "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.00018661699999711345}}, {"call": {"outcome": "passed", "duration": 0.0452083479999601}, "setup": {"outcome": "passed", "duration": 0.00034962000000859916}, "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.0002724059999650308}}, {"call": {"outcome": "skipped", "duration": 0.000234707000004164, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00039110800003072654}, "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.00018085599998585167}}, {"call": {"outcome": "passed", "duration": 0.0030242070000099375}, "setup": {"outcome": "passed", "duration": 0.00033617500002947054}, "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.0001812170000334845}}, {"call": {"outcome": "passed", "duration": 0.002500032000000374}, "setup": {"outcome": "passed", "duration": 0.0003488190000098257}, "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.00017627699998001845}}, {"call": {"outcome": "skipped", "duration": 0.00020258799997918686, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00033244799999465613}, "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.00017440400000623413}}, {"call": {"outcome": "passed", "duration": 0.0026363050000099975}, "setup": {"outcome": "passed", "duration": 0.00031276099997512574}, "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.00018626600001425686}}, {"call": {"outcome": "failed", "duration": 0.008258363999971152, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/pdas/core.py:57: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006265650000045753}, "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.00018787999999858584}}, {"call": {"outcome": "passed", "duration": 0.0007758340000236785}, "setup": {"outcome": "passed", "duration": 0.0009366020000243225}, "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.00018105699996340263}}, {"call": {"outcome": "passed", "duration": 0.00026661600003308195}, "setup": {"outcome": "passed", "duration": 0.00037289400000872774}, "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.0002671970000278634}}, {"call": {"outcome": "skipped", "duration": 0.00020215600000028644, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0006171180000364984}, "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.0003562740000120357}}, {"call": {"outcome": "failed", "duration": 0.008283650999999281, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/pde/mchedr.py:1080: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003186929999969834}, "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.00019607500001939115}}, {"call": {"outcome": "passed", "duration": 0.00046863099998972757}, "setup": {"outcome": "passed", "duration": 0.06999664299996766}, "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.00020519100002047708}}, {"call": {"outcome": "passed", "duration": 0.00029292400000713315}, "setup": {"outcome": "passed", "duration": 0.06932098200002201}, "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.00020477100002835869}}, {"call": {"outcome": "passed", "duration": 0.0004182569999784391}, "setup": {"outcome": "passed", "duration": 0.06867926899997201}, "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.00020584300000336953}}, {"call": {"outcome": "passed", "duration": 0.0003073309999876983}, "setup": {"outcome": "passed", "duration": 0.0694175419999965}, "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.000200802999984262}}, {"call": {"outcome": "passed", "duration": 0.00027158500000723507}, "setup": {"outcome": "passed", "duration": 0.06870775200002299}, "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.00020076300000937408}}, {"call": {"outcome": "passed", "duration": 0.00033879000000069937}, "setup": {"outcome": "passed", "duration": 0.2244795419999832}, "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.000228794999998172}}, {"call": {"outcome": "passed", "duration": 0.0002942470000562025}, "setup": {"outcome": "passed", "duration": 0.06926867499998934}, "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.00022100099999988743}}, {"call": {"outcome": "passed", "duration": 0.00032981300000756164}, "setup": {"outcome": "passed", "duration": 0.06807892399996263}, "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.00020808700003271952}}, {"call": {"outcome": "passed", "duration": 0.0004592930000058004}, "setup": {"outcome": "passed", "duration": 0.06878283199995394}, "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.00020401899996613793}}, {"call": {"outcome": "passed", "duration": 0.12246617099998502}, "setup": {"outcome": "passed", "duration": 0.06855812499998137}, "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.0002094189999866103}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008451109999896289, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.06867246600000954}, "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.0004159220000019559}}, {"call": {"outcome": "passed", "duration": 0.0033832579999852896}, "setup": {"outcome": "passed", "duration": 0.0006918550000136747}, "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.00020996000000650383}}, {"call": {"outcome": "passed", "duration": 0.003209905999995044}, "setup": {"outcome": "passed", "duration": 0.0003276490000416743}, "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.0001952129999835961}}, {"call": {"outcome": "passed", "duration": 0.0029981019999922864}, "setup": {"outcome": "passed", "duration": 0.0003426370000170209}, "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.00018702800002756703}}, {"call": {"outcome": "passed", "duration": 0.002968256000031033}, "setup": {"outcome": "passed", "duration": 0.0003361639999752697}, "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.00018556499998112486}}, {"call": {"outcome": "passed", "duration": 0.0029316680000306405}, "setup": {"outcome": "passed", "duration": 0.00032303000000410975}, "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.0002047410000045602}}, {"call": {"outcome": "passed", "duration": 0.0031583800000021256}, "setup": {"outcome": "passed", "duration": 0.0003184820000114996}, "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.00018302000000858243}}, {"call": {"outcome": "passed", "duration": 0.0029295449999722223}, "setup": {"outcome": "passed", "duration": 0.0003374670000084734}, "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.000188569999977517}}, {"call": {"outcome": "skipped", "duration": 0.00021445900000571783, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00032658700001775287}, "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.00018357099997956539}}, {"call": {"outcome": "failed", "duration": 0.004075605000025462, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/quakeml/core.py:1827: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003076819999705549}, "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.00021284600001081344}}, {"call": {"outcome": "passed", "duration": 0.01448886800000082}, "setup": {"outcome": "passed", "duration": 0.0010545600000000377}, "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.00020281700000168712}}, {"call": {"outcome": "passed", "duration": 0.0054969269999674}, "setup": {"outcome": "passed", "duration": 0.0003472349999924518}, "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.00018706700001303034}}, {"call": {"outcome": "passed", "duration": 0.002798210999969797}, "setup": {"outcome": "passed", "duration": 0.00034630300001481373}, "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.00018822000004092843}}, {"call": {"outcome": "passed", "duration": 0.005081363000044803}, "setup": {"outcome": "passed", "duration": 0.00034420000002910456}, "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.00023465600003191867}}, {"call": {"outcome": "passed", "duration": 0.0023789120000401454}, "setup": {"outcome": "passed", "duration": 0.0003562820000411193}, "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.00018847999996296494}}, {"call": {"outcome": "passed", "duration": 0.0019971119999695475}, "setup": {"outcome": "passed", "duration": 0.0003484079999793721}, "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.0001905640000359199}}, {"call": {"outcome": "passed", "duration": 0.0019491929999730928}, "setup": {"outcome": "passed", "duration": 0.0003437490000237631}, "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.0001880089999986012}}, {"call": {"outcome": "passed", "duration": 0.0035423530000002756}, "setup": {"outcome": "passed", "duration": 0.00036689199998818367}, "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.00018735800000513336}}, {"call": {"outcome": "passed", "duration": 0.003973374999986845}, "setup": {"outcome": "passed", "duration": 0.00036438699999052915}, "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.0001894119999974464}}, {"call": {"outcome": "passed", "duration": 0.003909726000017599}, "setup": {"outcome": "passed", "duration": 0.0003676430000041364}, "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.00018975199998294556}}, {"call": {"outcome": "passed", "duration": 0.011356265000017629}, "setup": {"outcome": "passed", "duration": 0.000343378999957622}, "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.00019217700003082427}}, {"call": {"outcome": "passed", "duration": 0.009415148000016416}, "setup": {"outcome": "passed", "duration": 0.00037138999999797306}, "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.00021913699998776792}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008777710000344996, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035039099998357415}, "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.00019653500004324087}}, {"call": {"outcome": "passed", "duration": 0.00128677200001448}, "setup": {"outcome": "passed", "duration": 0.00035302700001693665}, "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.00018857999998544983}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004052230000297641, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003392909999888616}, "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.00019343999997545325}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000962248999996973, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035704399999758607}, "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.0001971770000182005}}, {"call": {"outcome": "passed", "duration": 0.008014054000000215}, "setup": {"outcome": "passed", "duration": 0.0003158069999926738}, "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.00021059199997353062}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007401159999744777, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034894899999926565}, "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.00021361699998578842}}, {"call": {"outcome": "passed", "duration": 0.006803413999989516}, "setup": {"outcome": "passed", "duration": 0.00034522200002129466}, "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.0002060429999914959}}, {"call": {"outcome": "passed", "duration": 0.003566227999954208}, "setup": {"outcome": "passed", "duration": 0.0003380580000111877}, "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.0001887399999986883}}, {"call": {"outcome": "passed", "duration": 0.004853238999999121}, "setup": {"outcome": "passed", "duration": 0.00033843899996099935}, "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.00022998700001153338}}, {"call": {"outcome": "passed", "duration": 0.011224279999964892}, "setup": {"outcome": "passed", "duration": 0.0003441889999749037}, "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.00019214799999645038}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003528260000393857, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003263159999846721}, "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.0002078059999917059}}, {"call": {"outcome": "passed", "duration": 0.004943146000016441}, "setup": {"outcome": "passed", "duration": 0.0002981440000553448}, "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.00018785899999329558}}, {"call": {"outcome": "passed", "duration": 0.010035691000041425}, "setup": {"outcome": "passed", "duration": 0.00029764299995349575}, "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.00018946199998026714}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007440030000225306, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003630649999877278}, "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.0001949620000232244}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007349750000003041, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036339500002213754}, "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.00019210699997529446}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011376639999980398, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000507803999994394}, "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.00021119299998417773}}, {"call": {"outcome": "passed", "duration": 0.001986602999977549}, "setup": {"outcome": "passed", "duration": 0.00030674999999291686}, "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.00026392000000896587}}, {"call": {"outcome": "failed", "duration": 0.008719614999961323, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/reftek/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006450180000001637}, "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.00018753799997739407}}, {"call": {"outcome": "passed", "duration": 0.020140910999998596}, "setup": {"outcome": "passed", "duration": 0.001081028999976752}, "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.0002343549999750394}}, {"call": {"outcome": "passed", "duration": 0.0042012879999902}, "setup": {"outcome": "passed", "duration": 0.00043928600001663654}, "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.0002145189999964714}}, {"call": {"outcome": "passed", "duration": 0.019324955000001864}, "setup": {"outcome": "passed", "duration": 0.0004417310000235375}, "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.0002097099999787133}}, {"call": {"outcome": "passed", "duration": 0.0005967189999864786}, "setup": {"outcome": "passed", "duration": 0.0004522210000459381}, "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.00020204499998044412}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007971320000024207, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004515790000141351}, "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.000209949999998571}}, {"call": {"outcome": "passed", "duration": 0.0006513609999956316}, "setup": {"outcome": "passed", "duration": 0.00045863299999382434}, "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.00020419999998466665}}, {"call": {"outcome": "passed", "duration": 0.012620195000010881}, "setup": {"outcome": "passed", "duration": 0.0004423330000236092}, "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.000209248999965439}}, {"call": {"outcome": "passed", "duration": 0.02219963799996094}, "setup": {"outcome": "passed", "duration": 0.00045757100002674633}, "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.0002447649999908208}}, {"call": {"outcome": "passed", "duration": 0.012173505000021123}, "setup": {"outcome": "passed", "duration": 0.00042715400002180104}, "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.00021331599998575257}}, {"call": {"outcome": "passed", "duration": 0.01863412199998038}, "setup": {"outcome": "passed", "duration": 0.0004287870000325711}, "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.00021396799996864502}}, {"call": {"outcome": "passed", "duration": 0.019110467000018616}, "setup": {"outcome": "passed", "duration": 0.0004311609999945176}, "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.00020683399998233654}}, {"call": {"outcome": "passed", "duration": 0.0012551519999988159}, "setup": {"outcome": "passed", "duration": 0.00045280199998387616}, "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.00020996000000650383}}, {"call": {"outcome": "passed", "duration": 0.0015992919999803235}, "setup": {"outcome": "passed", "duration": 0.000426643000025706}, "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.00021190399996839915}}, {"call": {"outcome": "passed", "duration": 0.0015461430000414111}, "setup": {"outcome": "passed", "duration": 0.00042125199996689844}, "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.00020954900003289367}}, {"call": {"outcome": "passed", "duration": 0.0026109930000188797}, "setup": {"outcome": "passed", "duration": 0.00042652299998735543}, "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.00020890799999051524}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013708380000139186, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004216940000105751}, "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.0002183860000286586}}, {"call": {"outcome": "passed", "duration": 0.02266187700001865}, "setup": {"outcome": "passed", "duration": 0.0004419109999957982}, "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.00020444000000452434}}, {"call": {"outcome": "passed", "duration": 0.0025759470000252804}, "setup": {"outcome": "passed", "duration": 0.0004457090000187236}, "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.00021018000001049586}}, {"call": {"outcome": "passed", "duration": 0.00428015500000356}, "setup": {"outcome": "passed", "duration": 0.0004464500000267435}, "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.00020686499999555963}}, {"call": {"outcome": "passed", "duration": 0.004416467999988072}, "setup": {"outcome": "passed", "duration": 0.00044689100002415216}, "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.0005163999999808766}}, {"call": {"outcome": "failed", "duration": 0.00903168600001436, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/rg16/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006420529999786595}, "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.00020988100004615262}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008167980000166608, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010346930000082466}, "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.0002285239999650912}}, {"call": {"outcome": "passed", "duration": 0.0008543569999801548}, "setup": {"outcome": "passed", "duration": 0.00041805699999031276}, "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.00019530299999814815}}, {"call": {"outcome": "passed", "duration": 0.0002697009999792499}, "setup": {"outcome": "passed", "duration": 0.00042537000001630076}, "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.0001883200000065699}}, {"call": {"outcome": "passed", "duration": 0.0053058210000358486}, "setup": {"outcome": "passed", "duration": 0.0004011959999843384}, "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.00019952100001319195}}, {"call": {"outcome": "passed", "duration": 0.01075754299995424}, "setup": {"outcome": "passed", "duration": 0.0004361899999594243}, "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.00021274499999890395}}, {"call": {"outcome": "passed", "duration": 0.009373460000006162}, "setup": {"outcome": "passed", "duration": 0.0004385049999768853}, "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.00021067200003699327}}, {"call": {"outcome": "passed", "duration": 0.02800366399998211}, "setup": {"outcome": "passed", "duration": 0.0004358299999580595}, "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.0002156410000111464}}, {"call": {"outcome": "passed", "duration": 0.012096811999981583}, "setup": {"outcome": "passed", "duration": 0.0004328739999550635}, "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.0002108620000171868}}, {"call": {"outcome": "passed", "duration": 0.0007702219999714544}, "setup": {"outcome": "passed", "duration": 0.00044826300000977426}, "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.0002079169999547048}}, {"call": {"outcome": "passed", "duration": 0.00032349100001738407}, "setup": {"outcome": "passed", "duration": 0.00044309300000122676}, "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.00022167199995237752}}, {"call": {"outcome": "passed", "duration": 0.0025378159999718264}, "setup": {"outcome": "passed", "duration": 0.000407316999996965}, "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.00022617100000843493}}, {"call": {"outcome": "passed", "duration": 0.00026918000003206544}, "setup": {"outcome": "passed", "duration": 0.00041642400003638613}, "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.00019817800000510033}}, {"call": {"outcome": "passed", "duration": 0.0003151060000163852}, "setup": {"outcome": "passed", "duration": 0.0004034400000136884}, "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.0002013640000200212}}, {"call": {"outcome": "passed", "duration": 0.0002729070000100364}, "setup": {"outcome": "passed", "duration": 0.0004313619999720686}, "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.00019611400000485446}}, {"call": {"outcome": "passed", "duration": 0.00032999299997982234}, "setup": {"outcome": "passed", "duration": 0.00040099500000678745}, "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.00020172400002138602}}, {"call": {"outcome": "passed", "duration": 0.00038182899999128495}, "setup": {"outcome": "passed", "duration": 0.00042399799997383525}, "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.00020092400001203714}}, {"call": {"outcome": "passed", "duration": 0.00031891300000097544}, "setup": {"outcome": "passed", "duration": 0.0005027539999673536}, "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.0002261600000110775}}, {"call": {"outcome": "passed", "duration": 0.0003163580000205002}, "setup": {"outcome": "passed", "duration": 0.00040736699997978576}, "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.00020599200001925055}}, {"call": {"outcome": "passed", "duration": 0.0002933349999807433}, "setup": {"outcome": "passed", "duration": 0.0004087099999878774}, "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.0001880390000223997}}, {"call": {"outcome": "passed", "duration": 0.0002944969999703062}, "setup": {"outcome": "passed", "duration": 0.0004138589999911346}, "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.00018426299999418916}}, {"call": {"outcome": "passed", "duration": 0.00032282000000805056}, "setup": {"outcome": "passed", "duration": 0.00045743999999103835}, "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.00018739799998002127}}, {"call": {"outcome": "passed", "duration": 0.00030372400004807787}, "setup": {"outcome": "passed", "duration": 0.0004547150000462352}, "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.0001894519999723343}}, {"call": {"outcome": "passed", "duration": 0.0002712439999754679}, "setup": {"outcome": "passed", "duration": 0.00041871799999171344}, "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.00018435300000874122}}, {"call": {"outcome": "passed", "duration": 0.0011533739999549653}, "setup": {"outcome": "passed", "duration": 0.0003987320000078398}, "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.00019260799996345668}}, {"call": {"outcome": "passed", "duration": 0.007657571000038388}, "setup": {"outcome": "passed", "duration": 0.00042065200000251934}, "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.00020270700002811282}}, {"call": {"outcome": "passed", "duration": 0.0005970700000261786}, "setup": {"outcome": "passed", "duration": 0.00044502700001203266}, "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.0001950019999981123}}, {"call": {"outcome": "passed", "duration": 0.0002848889999995663}, "setup": {"outcome": "passed", "duration": 0.0004305100000010498}, "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.0001920469999845409}}, {"call": {"outcome": "passed", "duration": 0.0012390029999664876}, "setup": {"outcome": "passed", "duration": 0.00040916000000379427}, "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.00019389999999930296}}, {"call": {"outcome": "passed", "duration": 0.0006660779999947408}, "setup": {"outcome": "passed", "duration": 0.0004299990000049547}, "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.00019140599999900587}}, {"call": {"outcome": "passed", "duration": 0.0005087559999878977}, "setup": {"outcome": "passed", "duration": 0.0004334449999987555}, "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.00019787700000506447}}, {"call": {"outcome": "passed", "duration": 0.0003216080000356669}, "setup": {"outcome": "passed", "duration": 0.0004261319999727675}, "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.00020766600005117652}}, {"call": {"outcome": "passed", "duration": 0.00030717100003130327}, "setup": {"outcome": "passed", "duration": 0.00041248600001608793}, "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.00019376999995301958}}, {"call": {"outcome": "passed", "duration": 0.0006523919999494865}, "setup": {"outcome": "passed", "duration": 0.0004060140000206047}, "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.0001916659999778858}}, {"call": {"outcome": "passed", "duration": 0.0017680359999872053}, "setup": {"outcome": "passed", "duration": 0.0004102219999708723}, "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.000617907999981071}}, {"call": {"outcome": "passed", "duration": 0.0005805490000057034}, "setup": {"outcome": "passed", "duration": 0.000396817000023475}, "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.00017441400001416696}}, {"call": {"outcome": "passed", "duration": 0.00025986299999658513}, "setup": {"outcome": "passed", "duration": 0.00029324500002303466}, "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.00016597799998407936}}, {"call": {"outcome": "passed", "duration": 0.00023103900002752198}, "setup": {"outcome": "passed", "duration": 0.0002936360000376226}, "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.0001905340000121214}}, {"call": {"outcome": "failed", "duration": 0.009049267000023065, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sac/__init__.py:26: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000630201000035413}, "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.00019006300004775767}}, {"call": {"outcome": "failed", "duration": 0.008838066000009803, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sac/core.py:245: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00040306900001496615}, "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.0001838919999954669}}, {"call": {"outcome": "passed", "duration": 0.011111219000042638}, "setup": {"outcome": "passed", "duration": 0.0004529220000222267}, "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.00021171299999878102}}, {"call": {"outcome": "passed", "duration": 0.012491334999992887}, "setup": {"outcome": "passed", "duration": 0.00032826999995450024}, "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.00018827999997483857}}, {"call": {"outcome": "failed", "duration": 0.008710858999961602, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sac/core.py:352: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003282100000205901}, "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.00018492399999558984}}, {"call": {"outcome": "failed", "duration": 0.008588061000011749, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sac/core.py:200: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032345099998565274}, "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.00019104500000821645}}, {"call": {"outcome": "failed", "duration": 0.005131337000022995, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sac/core.py:448: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032377200000155426}, "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.00018921100001989544}}, {"call": {"outcome": "failed", "duration": 0.005207648999999037, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sac/core.py:276: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000927094000019224}, "lineno": 255, "nodeid": "io/sac/core.py::obspy.io.sac.core._write_sac_xy", "outcome": "failed", "keywords": ["obspy.io.sac.core._write_sac_xy", "filterwarnings", "core.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001880789999972876}}, {"call": {"outcome": "passed", "duration": 0.002824189000023125}, "setup": {"outcome": "passed", "duration": 0.0004160629999887533}, "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.0001928579999912472}}, {"call": {"outcome": "passed", "duration": 0.0040187390000028245}, "setup": {"outcome": "passed", "duration": 0.0003584959999898274}, "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.00019175599999243786}}, {"call": {"outcome": "failed", "duration": 0.008087069999987762, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sac/sactrace.py:269: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00041555199999265824}, "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.00018818999996028651}}, {"call": {"outcome": "passed", "duration": 0.0029084749999697124}, "setup": {"outcome": "passed", "duration": 0.0003280100000324637}, "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.00020394900002429495}}, {"call": {"outcome": "passed", "duration": 0.008494617000053495}, "setup": {"outcome": "passed", "duration": 0.00032623599997805286}, "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.00019705699997984993}}, {"call": {"outcome": "passed", "duration": 0.002580805999969016}, "setup": {"outcome": "passed", "duration": 0.00032866099996908815}, "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.00018486300001541167}}, {"call": {"outcome": "passed", "duration": 0.00843648900001881}, "setup": {"outcome": "passed", "duration": 0.0003196339999931297}, "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.00018882099999473212}}, {"call": {"outcome": "passed", "duration": 0.009313739999981863}, "setup": {"outcome": "passed", "duration": 0.0003464639999606334}, "lineno": 1032, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.read", "outcome": "passed", "keywords": ["obspy.io.sac.sactrace.SACTrace.read", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019228799999382318}}, {"call": {"outcome": "passed", "duration": 0.008927922999987459}, "setup": {"outcome": "passed", "duration": 0.00033639499997661915}, "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.00023248299999067967}}, {"call": {"outcome": "passed", "duration": 0.008585826000000907}, "setup": {"outcome": "passed", "duration": 0.00032891099999687867}, "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.00021365699996067633}}, {"call": {"outcome": "passed", "duration": 0.0024964699999827644}, "setup": {"outcome": "passed", "duration": 0.0011094120000052499}, "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.0002123749999896063}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004033395999954337, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043325499996171857}, "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.0002391040000020439}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0042601879999892844, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045029599999679704}, "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.00021742400002722206}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004385469999988345, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004244689999950424}, "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.0002201789999958237}}, {"call": {"outcome": "passed", "duration": 0.0024186949999602803}, "setup": {"outcome": "passed", "duration": 0.00046756900002264956}, "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.0002112820000093052}}, {"call": {"outcome": "passed", "duration": 0.014680153000028895}, "setup": {"outcome": "passed", "duration": 0.0004660769999986769}, "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.00021161299997629612}}, {"call": {"outcome": "passed", "duration": 0.0023074779999774364}, "setup": {"outcome": "passed", "duration": 0.0004685309999672427}, "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.00020860799997990398}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018815169999584214, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004534429999694112}, "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.00020737599999165468}}, {"call": {"outcome": "passed", "duration": 0.003392524999981106}, "setup": {"outcome": "passed", "duration": 0.0004508380000061152}, "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.0002064340000060838}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008053170000152932, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045139899998503097}, "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.00021731399999680434}}, {"call": {"outcome": "passed", "duration": 0.004880580000019563}, "setup": {"outcome": "passed", "duration": 0.0004423320000341846}, "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.0002032280000321407}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008109870000225783, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042860599995719895}, "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.00021348699999634846}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007949569999823325, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004225750000159678}, "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.00023162000002230343}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008185309999930723, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041661399995973625}, "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.00022174200000790734}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009435229999894545, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041857800005118406}, "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.0002066839999770309}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022320380000451223, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043799400003763367}, "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.0002056920000086393}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0038552749999780644, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042017099997337937}, "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.00022991700001284698}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007811720000177047, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004161040000099092}, "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.0002084069999455096}}, {"call": {"outcome": "passed", "duration": 0.0034401339999590164}, "setup": {"outcome": "passed", "duration": 0.00044811300000446863}, "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.00022634000004018162}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007772339999974065, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042642199997544594}, "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.00020923900001434959}}, {"call": {"outcome": "passed", "duration": 0.03149719699996467}, "setup": {"outcome": "passed", "duration": 0.0004423309999879166}, "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.00022565899996607186}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008199439999998503, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004277859999888278}, "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.0002044900000441885}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000842596000040885, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004322340000157965}, "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.00020215500001086184}}, {"call": {"outcome": "passed", "duration": 0.0022756390000040483}, "setup": {"outcome": "passed", "duration": 0.00043633100000306513}, "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.00021806500001275708}}, {"call": {"outcome": "passed", "duration": 0.0022680349999859573}, "setup": {"outcome": "passed", "duration": 0.00041755600000215054}, "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.00019316899999921588}}, {"call": {"outcome": "passed", "duration": 0.002559896999969169}, "setup": {"outcome": "passed", "duration": 0.00044069900002341456}, "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.00019513299997697686}}, {"call": {"outcome": "passed", "duration": 0.002771271000028719}, "setup": {"outcome": "passed", "duration": 0.0004381639999451181}, "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.00019827900001700982}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022049579999929847, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004565680000041539}, "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.0002101609999840548}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002051943000026313, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004711960000349791}, "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.00022730299997419934}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00044023800001014024, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042828599998756545}, "lineno": 582, "nodeid": "io/sac/tests/test_core.py::TestCore::test_read_via_obspy_from_bytes_io", "outcome": "failed", "keywords": ["test_read_via_obspy_from_bytes_io", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021312600000555904}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001009465999970871, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004241190000016104}, "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.00022732300004690842}}, {"call": {"outcome": "passed", "duration": 0.002886735000004137}, "setup": {"outcome": "passed", "duration": 0.000426291999986006}, "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.00021442900003876275}}, {"call": {"outcome": "passed", "duration": 0.00329646599999478}, "setup": {"outcome": "passed", "duration": 0.00045838200003345264}, "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.00022859500001004562}}, {"call": {"outcome": "passed", "duration": 0.00030491699999402044}, "setup": {"outcome": "passed", "duration": 0.00042121199999201053}, "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.00018875099999604572}}, {"call": {"outcome": "passed", "duration": 0.0002969919999600279}, "setup": {"outcome": "passed", "duration": 0.00041036299995766967}, "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.0001913149999950292}}, {"call": {"outcome": "passed", "duration": 0.00025722800000949064}, "setup": {"outcome": "passed", "duration": 0.00044650999996065366}, "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.00020659400001932227}}, {"call": {"outcome": "passed", "duration": 0.00033062500000369255}, "setup": {"outcome": "passed", "duration": 0.00040458199998738564}, "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.00019272800000180723}}, {"call": {"outcome": "passed", "duration": 0.00029084999999895444}, "setup": {"outcome": "passed", "duration": 0.00040914999999586144}, "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.00019303900000977592}}, {"call": {"outcome": "passed", "duration": 0.0003110279999987142}, "setup": {"outcome": "passed", "duration": 0.00043028899995078973}, "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.00018895099998417209}}, {"call": {"outcome": "passed", "duration": 0.000296531000003597}, "setup": {"outcome": "passed", "duration": 0.0004067760000339149}, "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.00018711799998527567}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021650840000120297, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042262599998821315}, "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.00020918799998526083}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020402119999971546, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004364210000176172}, "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.00020606300000736155}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019282640000142237, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 823, in test_merge_sac_obspy_headers\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004457480000041869}, "lineno": 809, "nodeid": "io/sac/tests/test_core.py::TestCore::test_merge_sac_obspy_headers", "outcome": "failed", "keywords": ["test_merge_sac_obspy_headers", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022955700001148216}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008748548000028222, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042987899996660417}, "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.0002110429999788721}}, {"call": {"outcome": "passed", "duration": 0.00412800200001584}, "setup": {"outcome": "passed", "duration": 0.00044353499998806}, "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.00019780799999580267}}, {"call": {"outcome": "passed", "duration": 0.002333597000017562}, "setup": {"outcome": "passed", "duration": 0.00041938000003938214}, "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.0002421300000037263}}, {"call": {"outcome": "passed", "duration": 0.0005014719999962836}, "setup": {"outcome": "passed", "duration": 0.000442182000028879}, "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.00019225699998060009}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014492340000060722, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004375230000164265}, "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.00022713200002044687}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015544590000331482, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004282649999822752}, "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.00020521100003634274}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007905999999593405, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004186979999758478}, "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.00022206300002380885}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008095140000250467, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000417366000021957}, "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.00022274399998423178}}, {"call": {"outcome": "passed", "duration": 0.16587952499997982}, "setup": {"outcome": "passed", "duration": 0.000420320999978685}, "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.00024453500003573936}}, {"call": {"outcome": "passed", "duration": 0.00647397200003752}, "setup": {"outcome": "passed", "duration": 0.0004898600000160513}, "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.0008959049999930357}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007902290000174617, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008713989999478144}, "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.00023553800002673597}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000781212000049436, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004227759999935188}, "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.0002219819999709216}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007599420000019563, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041186499998957515}, "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.00022270400000934387}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011532429999761007, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00142528899999661}, "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.00022880500000610482}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010671030000253268, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005302249999772357}, "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.00023615899999640533}}, {"call": {"outcome": "passed", "duration": 0.0004686010000227725}, "setup": {"outcome": "passed", "duration": 0.0004118549999816423}, "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.0002058329999954367}}, {"call": {"outcome": "passed", "duration": 0.0004914130000202022}, "setup": {"outcome": "passed", "duration": 0.00041312700000162295}, "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.00020244600000296487}}, {"call": {"outcome": "passed", "duration": 0.00042976899999302987}, "setup": {"outcome": "passed", "duration": 0.00040320899995549553}, "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.00020025200001327903}}, {"call": {"outcome": "passed", "duration": 0.00771850500001392}, "setup": {"outcome": "passed", "duration": 0.0004376640000032239}, "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.00020958999999720618}}, {"call": {"outcome": "passed", "duration": 0.0179974970000103}, "setup": {"outcome": "passed", "duration": 0.0004509479999796895}, "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.0004506970000193178}}, {"call": {"outcome": "passed", "duration": 0.0008843830000273556}, "setup": {"outcome": "passed", "duration": 0.00086735200000021}, "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.00023813299998209914}}, {"call": {"outcome": "passed", "duration": 0.0005952559999968798}, "setup": {"outcome": "passed", "duration": 0.0004177860000140754}, "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.00022210299999869676}}, {"call": {"outcome": "passed", "duration": 0.0015121510000426497}, "setup": {"outcome": "passed", "duration": 0.0004199299999640971}, "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.00020268700001224715}}, {"call": {"outcome": "passed", "duration": 0.0014001119999988987}, "setup": {"outcome": "passed", "duration": 0.00041938900000104695}, "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.00020865699997330012}}, {"call": {"outcome": "passed", "duration": 0.0019633489999932863}, "setup": {"outcome": "passed", "duration": 0.0004216140000039559}, "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.00023149100002228806}}, {"call": {"outcome": "passed", "duration": 0.0008069689999956609}, "setup": {"outcome": "passed", "duration": 0.0004219040000066343}, "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.00021018099999992046}}, {"call": {"outcome": "passed", "duration": 0.0012825040000166155}, "setup": {"outcome": "passed", "duration": 0.0004289770000127646}, "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.00020205499998837695}}, {"call": {"outcome": "passed", "duration": 0.0011693029999833016}, "setup": {"outcome": "passed", "duration": 0.0004168650000337948}, "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.000194892000024538}}, {"call": {"outcome": "passed", "duration": 0.0016871660000106203}, "setup": {"outcome": "passed", "duration": 0.0004395169999611426}, "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.00019495199995844814}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007982829999946262, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004440250000357082}, "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.00020557200002713216}}, {"call": {"outcome": "passed", "duration": 0.0006030310000255668}, "setup": {"outcome": "passed", "duration": 0.0004391260000033981}, "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.00019080500004520218}}, {"call": {"outcome": "passed", "duration": 0.0008767390000343767}, "setup": {"outcome": "passed", "duration": 0.00043250400000260925}, "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.0001908149999962916}}, {"call": {"outcome": "passed", "duration": 0.0020534459999907995}, "setup": {"outcome": "passed", "duration": 0.00040722699998241296}, "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.00021523000003753623}}, {"call": {"outcome": "passed", "duration": 0.0004894499999750224}, "setup": {"outcome": "passed", "duration": 0.0004096719999893139}, "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.00018606599996928708}}, {"call": {"outcome": "passed", "duration": 0.0007461770000531942}, "setup": {"outcome": "passed", "duration": 0.00040299899995943633}, "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.00019464199999674747}}, {"call": {"outcome": "passed", "duration": 0.005974653999999191}, "setup": {"outcome": "passed", "duration": 0.00041981100002885796}, "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.0001967950000221208}}, {"call": {"outcome": "passed", "duration": 0.0009762949999867487}, "setup": {"outcome": "passed", "duration": 0.000440158000003521}, "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.00019941099998277423}}, {"call": {"outcome": "passed", "duration": 0.00033328900002516093}, "setup": {"outcome": "passed", "duration": 0.0004178570000021864}, "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.00018937199996571508}}, {"call": {"outcome": "passed", "duration": 0.0005213289999801418}, "setup": {"outcome": "passed", "duration": 0.0004222939999749542}, "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.0002112120000106188}}, {"call": {"outcome": "passed", "duration": 0.0003933109999820772}, "setup": {"outcome": "passed", "duration": 0.0004108339999788768}, "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.0004895900000292386}}, {"call": {"outcome": "failed", "duration": 0.009709084000007806, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/scardec/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006657170000039514}, "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.00018925199998420794}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007466170000043348, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00093146199998273}, "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.00020390800000313902}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003924989999859463, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034303800003954166}, "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.0001812169999766411}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003922289999991335, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003602900000032605}, "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.00018563600002607927}}, {"call": {"outcome": "passed", "duration": 0.004833774000019275}, "setup": {"outcome": "passed", "duration": 0.0003622830000153954}, "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.00025680700002794765}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012616649999586116, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009966129999838813}, "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.00018910099998947771}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008106770000040342, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033248800002638745}, "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.00023107000004074507}}, {"call": {"outcome": "passed", "duration": 0.012755355999956919}, "setup": {"outcome": "passed", "duration": 0.0005917799999792805}, "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.00019258800000443443}}, {"call": {"outcome": "failed", "duration": 0.009167868000020007, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/segy/core.py:165: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00037135999997417457}, "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.0001883209999959945}}, {"call": {"outcome": "failed", "duration": 0.009457657000041308, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/segy/core.py:455: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003346620000002076}, "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.00019115499998179075}}, {"call": {"outcome": "passed", "duration": 0.008602527999983067}, "setup": {"outcome": "passed", "duration": 0.0004122259999803646}, "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.0001843129999770099}}, {"call": {"outcome": "passed", "duration": 0.008789185000011912}, "setup": {"outcome": "passed", "duration": 0.0003458729999579191}, "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.00018788899996025066}}, {"call": {"outcome": "passed", "duration": 0.0006500680000272041}, "setup": {"outcome": "passed", "duration": 0.0009608749999756583}, "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.00017992499999763822}}, {"call": {"outcome": "passed", "duration": 0.000631042999998499}, "setup": {"outcome": "passed", "duration": 0.000365519000013137}, "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.0001776600000198414}}, {"call": {"outcome": "passed", "duration": 0.001567282999985764}, "setup": {"outcome": "passed", "duration": 0.0003543579999814028}, "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.00018268000002308327}}, {"call": {"outcome": "passed", "duration": 0.0015531559999999445}, "setup": {"outcome": "passed", "duration": 0.0003425659999720665}, "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.0001992910000012671}}, {"call": {"outcome": "passed", "duration": 0.004847478999977284}, "setup": {"outcome": "passed", "duration": 0.0003443599999854996}, "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.0001857550000181618}}, {"call": {"outcome": "passed", "duration": 0.003189117000033548}, "setup": {"outcome": "passed", "duration": 0.0003440790000013294}, "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.00018353100000467748}}, {"call": {"outcome": "passed", "duration": 0.005346977999977298}, "setup": {"outcome": "passed", "duration": 0.00035549000000401065}, "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.00018385199996373558}}, {"call": {"outcome": "passed", "duration": 0.0009126859999923909}, "setup": {"outcome": "passed", "duration": 0.0003694260000202121}, "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.0001795640000068488}}, {"call": {"outcome": "passed", "duration": 0.0008359329999620968}, "setup": {"outcome": "passed", "duration": 0.00037230200001658886}, "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.00017910200000414989}}, {"call": {"outcome": "passed", "duration": 0.004517936000013378}, "setup": {"outcome": "passed", "duration": 0.00034170499998253945}, "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.00018564499998774409}}, {"call": {"outcome": "passed", "duration": 0.0012046580000060203}, "setup": {"outcome": "passed", "duration": 0.00037736100000529404}, "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.0002110330000277827}}, {"call": {"outcome": "passed", "duration": 0.005227353999998741}, "setup": {"outcome": "passed", "duration": 0.00034307800001442956}, "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.00018391200001133257}}, {"call": {"outcome": "passed", "duration": 0.01896894400005067}, "setup": {"outcome": "passed", "duration": 0.0003675429999816515}, "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.0001858250000168482}}, {"call": {"outcome": "passed", "duration": 0.0003257249999819578}, "setup": {"outcome": "passed", "duration": 0.00034936999998080864}, "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.00017838099995515222}}, {"call": {"outcome": "passed", "duration": 0.0010738749999745778}, "setup": {"outcome": "passed", "duration": 0.0003622529999915969}, "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.00017885199997635937}}, {"call": {"outcome": "passed", "duration": 0.002732217000016135}, "setup": {"outcome": "passed", "duration": 0.0003412240000102429}, "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.00018259899997019602}}, {"call": {"outcome": "passed", "duration": 0.0011146219999886853}, "setup": {"outcome": "passed", "duration": 0.0003469239999844831}, "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.00018213800001376512}}, {"call": {"outcome": "passed", "duration": 0.0034437099999991005}, "setup": {"outcome": "passed", "duration": 0.00033765699998866694}, "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.00020691500003522378}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002123726999968767, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030308300000569943}, "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.0001879290000488254}}, {"call": {"outcome": "passed", "duration": 0.003943128000003071}, "setup": {"outcome": "passed", "duration": 0.0004715869999927236}, "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.00018095600000833656}}, {"call": {"outcome": "passed", "duration": 0.0036294450000013967}, "setup": {"outcome": "passed", "duration": 0.00034324799997875743}, "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.00018056599998317324}}, {"call": {"outcome": "passed", "duration": 0.001227100999983577}, "setup": {"outcome": "passed", "duration": 0.00034609300001875454}, "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.00018050500000299508}}, {"call": {"outcome": "passed", "duration": 0.00095036599998366}, "setup": {"outcome": "passed", "duration": 0.0003403929999876709}, "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.00017783100003043728}}, {"call": {"outcome": "passed", "duration": 0.009989434999965852}, "setup": {"outcome": "passed", "duration": 0.0003669010000066919}, "lineno": 573, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_issue_377", "outcome": "passed", "keywords": ["test_issue_377", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001828690000138522}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008305740000196238, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034792700000707555}, "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.00018334100002448395}}, {"call": {"outcome": "passed", "duration": 0.010222959000032006}, "setup": {"outcome": "passed", "duration": 0.0003017710000108309}, "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.00018519400003924602}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020369450000430334, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032011500002226967}, "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.0001868469999521949}}, {"call": {"outcome": "passed", "duration": 0.0010581370000295465}, "setup": {"outcome": "passed", "duration": 0.0003015609999579283}, "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.00030299299999114737}}, {"call": {"outcome": "passed", "duration": 0.0020144239999808633}, "setup": {"outcome": "passed", "duration": 0.000697495999986586}, "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.00019843800004082368}}, {"call": {"outcome": "passed", "duration": 0.002023280999992494}, "setup": {"outcome": "passed", "duration": 0.0003439390000039566}, "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.00018201799997541457}}, {"call": {"outcome": "passed", "duration": 0.0437593759999686}, "setup": {"outcome": "passed", "duration": 0.0003248330000360511}, "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.00018385099997431098}}, {"call": {"outcome": "passed", "duration": 0.0359233940000081}, "setup": {"outcome": "passed", "duration": 0.0003204060000143727}, "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.000180835999969986}}, {"call": {"outcome": "passed", "duration": 0.0005376390000151332}, "setup": {"outcome": "passed", "duration": 0.0003194939999957569}, "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.00017616799999586874}}, {"call": {"outcome": "passed", "duration": 0.001044651000029262}, "setup": {"outcome": "passed", "duration": 0.0003500610000060078}, "lineno": 258, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_and_write_binary_file_header", "outcome": "passed", "keywords": ["test_read_and_write_binary_file_header", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001753770000050281}}, {"call": {"outcome": "passed", "duration": 0.0007361280000282022}, "setup": {"outcome": "passed", "duration": 0.00033565299997917464}, "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.00017463399996131557}}, {"call": {"outcome": "passed", "duration": 0.003279645000020537}, "setup": {"outcome": "passed", "duration": 0.0005363169999554884}, "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.0001801249999857646}}, {"call": {"outcome": "passed", "duration": 0.010533906999967257}, "setup": {"outcome": "passed", "duration": 0.0004659459999629689}, "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.0002087180000103217}}, {"call": {"outcome": "passed", "duration": 0.00813808399999516}, "setup": {"outcome": "passed", "duration": 0.0004724780000060491}, "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.00020787700003666032}}, {"call": {"outcome": "passed", "duration": 0.0004633309999917401}, "setup": {"outcome": "passed", "duration": 0.00034307800001442956}, "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.00017890200001602352}}, {"call": {"outcome": "passed", "duration": 0.0008778319999578343}, "setup": {"outcome": "passed", "duration": 0.00034037299997180526}, "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.0001792539999883047}}, {"call": {"outcome": "passed", "duration": 0.0010187540000288209}, "setup": {"outcome": "passed", "duration": 0.0003369369999859373}, "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.00018474400002332914}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007671349999895938, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003399310000418154}, "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.00018996299996842936}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020380070000101114, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029686199997058793}, "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.00018682699999317265}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022454429999925196, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003340199999684046}, "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.00018907200001194724}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002003594000029807, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030007699996303927}, "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.00025842999997394145}}, {"call": {"outcome": "passed", "duration": 0.0012215900000001056}, "setup": {"outcome": "passed", "duration": 0.0007417479999958232}, "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.00018558500005383394}}, {"call": {"outcome": "passed", "duration": 0.0005052299999874776}, "setup": {"outcome": "passed", "duration": 0.00034598300004518023}, "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.0001831499999980224}}, {"call": {"outcome": "passed", "duration": 0.0017487800000139941}, "setup": {"outcome": "passed", "duration": 0.0003594479999833311}, "lineno": 60, "nodeid": "io/segy/tests/test_su.py::TestSU::test_reading_and_writing_different_byteorders", "outcome": "passed", "keywords": ["test_reading_and_writing_different_byteorders", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017388300000220624}}, {"call": {"outcome": "passed", "duration": 0.0005675950000068042}, "setup": {"outcome": "passed", "duration": 0.0003675639999869418}, "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.00017247099998485282}}, {"call": {"outcome": "passed", "duration": 0.00032705800003896}, "setup": {"outcome": "passed", "duration": 0.0003554410000106145}, "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.0001676020000331846}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007999270000027536, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003374769999595628}, "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.00026767700001073536}}, {"call": {"outcome": "failed", "duration": 0.009790775999988455, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/seisan/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000622115999988182}, "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.00018629599998121193}}, {"call": {"outcome": "skipped", "duration": 0.00021268500000815038, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00039903099997218305}, "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.00017165899998872192}}, {"call": {"outcome": "failed", "duration": 0.009322666000002755, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/seisan/core.py:123: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032144699997616044}, "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.00018616599999177197}}, {"call": {"outcome": "passed", "duration": 0.00031663899994782696}, "setup": {"outcome": "passed", "duration": 0.0009620779999863771}, "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.00017377199998236392}}, {"call": {"outcome": "passed", "duration": 0.00031069699997487987}, "setup": {"outcome": "passed", "duration": 0.00035316600002488485}, "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.0001668009999775677}}, {"call": {"outcome": "passed", "duration": 0.021947608999994372}, "setup": {"outcome": "passed", "duration": 0.0003321570000025531}, "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.0002108310000039637}}, {"call": {"outcome": "passed", "duration": 0.01943352699998968}, "setup": {"outcome": "passed", "duration": 0.0003497099999663078}, "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.00019227699999646575}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008290700000088691, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035320699998919736}, "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.0002585110000268287}}, {"call": {"outcome": "failed", "duration": 0.009886635000043498, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/seiscomp/event.py:73: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006400000000326145}, "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.00019073500004651578}}, {"call": {"outcome": "passed", "duration": 0.0025570729999913056}, "setup": {"outcome": "passed", "duration": 0.0004260919999978796}, "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.00018929200001593927}}, {"call": {"outcome": "passed", "duration": 0.0009236660000055963}, "setup": {"outcome": "passed", "duration": 0.0011288179999837666}, "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.0001744940000207862}}, {"call": {"outcome": "passed", "duration": 0.00028213399997412125}, "setup": {"outcome": "passed", "duration": 0.0003654689999734728}, "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.0001852540000299996}}, {"call": {"outcome": "passed", "duration": 0.008489537000002656}, "setup": {"outcome": "passed", "duration": 0.00033052399999178306}, "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.0002594919999978629}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007177540000498084, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001404551000007359}, "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.00022467700000561308}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.036906569999985095}, "setup": {"outcome": "passed", "duration": 0.00046095699997295014}, "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.0002150489999621641}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03742697699999553}, "setup": {"outcome": "passed", "duration": 0.0004959020000114833}, "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.00021161299997629612}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.0366967710000381}, "setup": {"outcome": "passed", "duration": 0.0004911519999950542}, "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.00020349799996211004}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03664452299994991}, "setup": {"outcome": "passed", "duration": 0.0004838390000259096}, "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.00020514099998081292}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03649208000001636}, "setup": {"outcome": "passed", "duration": 0.0005048880000231293}, "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.0002034780000030878}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.036851999000020896}, "setup": {"outcome": "passed", "duration": 0.00047741800000267176}, "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.00020417999996880098}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.037566516999959276}, "setup": {"outcome": "passed", "duration": 0.0004737410000075215}, "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.00020362800000839343}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03834346100001085}, "setup": {"outcome": "passed", "duration": 0.00046462299997074297}, "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.00020697499996913393}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03964386799998465}, "setup": {"outcome": "passed", "duration": 0.00046974299999646973}, "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.00020712499997443956}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03911969300003193}, "setup": {"outcome": "passed", "duration": 0.00047407099998508784}, "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.00020592300000998875}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.037436285000012504}, "setup": {"outcome": "passed", "duration": 0.000499517999969612}, "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.00021783500000083222}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.038033885000004375}, "setup": {"outcome": "passed", "duration": 0.0004809839999779797}, "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.0002059730000496529}}, {"call": {"outcome": "passed", "duration": 0.005553641000005882}, "setup": {"outcome": "passed", "duration": 0.0004759139999919171}, "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.00020561200000202007}}, {"call": {"outcome": "passed", "duration": 0.005419732000007116}, "setup": {"outcome": "passed", "duration": 0.000478068000006715}, "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.00020406900000580208}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003982000000064545, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00047646500001974346}, "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.00020688399996515727}}, {"call": {"outcome": "passed", "duration": 0.009289084000045023}, "setup": {"outcome": "passed", "duration": 0.0005025840000030257}, "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.0002246180000042841}}, {"call": {"outcome": "passed", "duration": 0.00620693600001232}, "setup": {"outcome": "passed", "duration": 0.0004782089999935124}, "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.00020542099997555852}}, {"call": {"outcome": "passed", "duration": 0.008283393999988675}, "setup": {"outcome": "passed", "duration": 0.00046454300002096716}, "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.000202276000038637}}, {"call": {"outcome": "passed", "duration": 0.010294001000033859}, "setup": {"outcome": "passed", "duration": 0.00047772800002121585}, "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.00021499899997934335}}, {"call": {"outcome": "passed", "duration": 0.010062440000012884}, "setup": {"outcome": "passed", "duration": 0.0004797220000227753}, "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.0002022859999897264}}, {"call": {"outcome": "passed", "duration": 0.00873662700001887}, "setup": {"outcome": "passed", "duration": 0.0004658249999920372}, "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.0002015139999684834}}, {"call": {"outcome": "passed", "duration": 0.00848304500004815}, "setup": {"outcome": "passed", "duration": 0.00045990499995696155}, "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.00020355800000970703}}, {"call": {"outcome": "passed", "duration": 0.008184890999984873}, "setup": {"outcome": "passed", "duration": 0.0004662069999881169}, "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.0002025260000095841}}, {"call": {"outcome": "passed", "duration": 0.008738770999968892}, "setup": {"outcome": "passed", "duration": 0.00048261699998874974}, "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.00020322699998587268}}, {"call": {"outcome": "passed", "duration": 0.00940667200001144}, "setup": {"outcome": "passed", "duration": 0.0004640729999891846}, "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.00020441999998865867}}, {"call": {"outcome": "passed", "duration": 0.00994793799998206}, "setup": {"outcome": "passed", "duration": 0.00048275699998612254}, "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.00021834599999692728}}, {"call": {"outcome": "passed", "duration": 0.038082817000031355}, "setup": {"outcome": "passed", "duration": 0.000470333999999184}, "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.00020314699997925345}}, {"call": {"outcome": "passed", "duration": 0.037973503000046094}, "setup": {"outcome": "passed", "duration": 0.00048269699999536897}, "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.00019970100004229607}}, {"call": {"outcome": "passed", "duration": 0.01589262600003849}, "setup": {"outcome": "passed", "duration": 0.0004562280000186547}, "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.00021271600002137347}}, {"call": {"outcome": "passed", "duration": 0.009404067999980725}, "setup": {"outcome": "passed", "duration": 0.00047206699997559554}, "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.00023297299998148446}}, {"call": {"outcome": "passed", "duration": 0.033353255999998055}, "setup": {"outcome": "passed", "duration": 0.0004630409999890617}, "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.00020647400003781513}}, {"call": {"outcome": "passed", "duration": 0.00770780499999546}, "setup": {"outcome": "passed", "duration": 0.00046580499997617153}, "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.00023081900002352995}}, {"call": {"outcome": "passed", "duration": 0.010025513000016417}, "setup": {"outcome": "passed", "duration": 0.00045659899996053355}, "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.00020482000002175482}}, {"call": {"outcome": "passed", "duration": 0.014734825000005003}, "setup": {"outcome": "passed", "duration": 0.0004980059999866171}, "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.00020489100000986582}}, {"call": {"outcome": "passed", "duration": 0.014676986000040415}, "setup": {"outcome": "passed", "duration": 0.0004758439999932307}, "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.00020852699998386015}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007352460000333849, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004780689999961396}, "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.00024171900003011615}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007112819999974818, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004919450000215875}, "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.000638236999975561}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009363899999925707, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.041968537999991895}, "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.0002100800000448544}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007670249999591761, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.03294423599999163}, "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.00020802599999569793}}, {"call": {"outcome": "passed", "duration": 0.028515656000024592}, "setup": {"outcome": "passed", "duration": 0.03340593500001887}, "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.00020680399995853804}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007822540000006484, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.033129792000011093}, "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.00020519200000990168}}, {"call": {"outcome": "passed", "duration": 0.00031074700001454403}, "setup": {"outcome": "passed", "duration": 0.03329967700000225}, "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.0002174040000113564}}, {"call": {"outcome": "passed", "duration": 0.004703841999969427}, "setup": {"outcome": "passed", "duration": 0.033677780000004987}, "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.0002089580000301794}}, {"call": {"outcome": "passed", "duration": 0.00032324000000016895}, "setup": {"outcome": "passed", "duration": 0.0337322000000313}, "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.00020431000001508437}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007711430000085784, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.03354129600000988}, "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.0003661210000132087}}, {"call": {"outcome": "failed", "duration": 0.010448467999992772, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sh/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006522219999851586}, "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.0001917059999527737}}, {"call": {"outcome": "skipped", "duration": 0.0002097789999879751, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003962659999956486}, "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.0001754159999904914}}, {"call": {"outcome": "skipped", "duration": 0.00019973199999867575, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003243829999632908}, "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.00018250900001248738}}, {"call": {"outcome": "failed", "duration": 0.009608768000020973, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sh/core.py:122: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034026199995196293}, "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.00020515199997817035}}, {"call": {"outcome": "failed", "duration": 0.00954636199998049, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/sh/core.py:366: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032021499998791114}, "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.00018583499996793762}}, {"call": {"outcome": "passed", "duration": 0.0025905749999992622}, "setup": {"outcome": "passed", "duration": 0.00032524399995281783}, "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.00017870199997105374}}, {"call": {"outcome": "passed", "duration": 0.002889720999974088}, "setup": {"outcome": "passed", "duration": 0.0003375669999741149}, "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.00018331100000068545}}, {"call": {"outcome": "passed", "duration": 0.02371975199997678}, "setup": {"outcome": "passed", "duration": 0.0009601840000073025}, "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.00018351099998881182}}, {"call": {"outcome": "passed", "duration": 0.0003133429999593318}, "setup": {"outcome": "passed", "duration": 0.0003694769999924574}, "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.0001939100000072358}}, {"call": {"outcome": "passed", "duration": 0.00031051700000261917}, "setup": {"outcome": "passed", "duration": 0.00034313800000518313}, "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.0001728510000020833}}, {"call": {"outcome": "passed", "duration": 0.0013473330000124406}, "setup": {"outcome": "passed", "duration": 0.00035514000001057866}, "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.00018175799999653464}}, {"call": {"outcome": "passed", "duration": 0.01340917099997796}, "setup": {"outcome": "passed", "duration": 0.00033808899996756736}, "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.00018604599995342141}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.011295922999977392, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034887800001115465}, "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.00018817000000126427}}, {"call": {"outcome": "passed", "duration": 0.006439678999981879}, "setup": {"outcome": "passed", "duration": 0.00036636099997622296}, "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.0001832210000429768}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004115659000035521, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003627539999797591}, "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.00018571499998643048}}, {"call": {"outcome": "passed", "duration": 0.0011357010000097034}, "setup": {"outcome": "passed", "duration": 0.00034216599999581376}, "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.00020152400003325965}}, {"call": {"outcome": "passed", "duration": 0.018682230999957028}, "setup": {"outcome": "passed", "duration": 0.00029698099996267047}, "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.00020412999998598025}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002140698000005159, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003017309999790996}, "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.00018805899998142195}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020561919999977363, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003280799999743067}, "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.00020285699997657503}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0026014850000137812, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003004680000344706}, "lineno": 287, "nodeid": "io/sh/tests/test_core.py::TestCore::test_append_traces", "outcome": "failed", "keywords": ["test_append_traces", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002871330000289163}}, {"call": {"outcome": "passed", "duration": 0.000562886000011531}, "setup": {"outcome": "passed", "duration": 0.0005061609999756911}, "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.00017864199998030017}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007700509999608585, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005353050000280746}, "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.00018735800000513336}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007383219999610446, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036389699999972436}, "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.00018351100004565524}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007003509999776725, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036554899998009205}, "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.00018963200000143843}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008595570000125008, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003793150000319656}, "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.0001865970000380912}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05535942400001659, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003632750000406304}, "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.0002658239999959733}}, {"call": {"outcome": "failed", "duration": 0.05780107200001794, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/shapefile/__init__.py:14: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006410809999692901}, "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.00019265800000312083}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005156232999979693, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006349399999976413}, "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.00018893100002514984}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005251960999999028, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003065600000127233}, "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.00018959300001597512}}, {"call": {"outcome": "passed", "duration": 0.058432956999979524}, "setup": {"outcome": "passed", "duration": 0.00030652899999950023}, "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.00018632600000501043}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005135174000031384, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003160569999636209}, "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.0001880789999972876}}, {"call": {"outcome": "passed", "duration": 0.055364143999952375}, "setup": {"outcome": "passed", "duration": 0.0003269879999834302}, "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.0001848340000378812}}, {"call": {"outcome": "passed", "duration": 0.06340232299999116}, "setup": {"outcome": "passed", "duration": 0.00031493599999521393}, "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.00019763699998520678}}, {"call": {"outcome": "failed", "duration": 0.010434533000022839, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/stationtxt/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006383659999755764}, "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.00018808000004355563}}, {"call": {"outcome": "passed", "duration": 0.001338295999971706}, "setup": {"outcome": "passed", "duration": 0.0009697720000190202}, "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.00020573300002979522}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001390614000001733, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033995100000083767}, "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.00018087600000171733}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001949331999981041, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003401820000021871}, "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.00018690799998921648}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0032311260000028597, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003483270000401717}, "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.00018732799998133487}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012115720000451802, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037461599998778183}, "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.00019118500000558925}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013855440000156705, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003382089999490745}, "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.00019302799995557507}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022059499999613763, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037549799998259914}, "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.00019481200001791876}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010758800000303381, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003392609999650631}, "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.00019878900002368027}}, {"call": {"outcome": "passed", "duration": 0.010563923000006525}, "setup": {"outcome": "passed", "duration": 0.0002956889999836676}, "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.00018732799998133487}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007488520000151766, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003459719999909794}, "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.00025842000002285204}}, {"call": {"outcome": "passed", "duration": 0.0011077890000024126}, "setup": {"outcome": "passed", "duration": 0.0013158260000523114}, "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.00018295099999932063}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007633079999891379, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038706999998794345}, "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.0001816380000150275}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007143679999899177, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003921190000255592}, "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.00019135599995934172}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008637949999865668, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037958600000820297}, "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.00019161599999506507}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008494690000020455, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004549359999828084}, "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.00018266900002572584}}, {"call": {"outcome": "passed", "duration": 0.0033650240000042686}, "setup": {"outcome": "passed", "duration": 0.00034553200003983875}, "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.00019484300003114186}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007190260000129456, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003634450000049583}, "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.0002080569999520776}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007179540000379347, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037654999999858774}, "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.0002016839999896547}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008099849999894104, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036533899998403285}, "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.00020214600004919703}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009774170000014237, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036291499998242216}, "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.00018872099997224723}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007864209999866034, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038640799999711817}, "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.00018162800000709467}}, {"call": {"outcome": "passed", "duration": 0.004507798000020102}, "setup": {"outcome": "passed", "duration": 0.0003826610000032815}, "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.00021036100002902458}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007309079999799906, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003806779999990795}, "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.00023870400002579117}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007410680000248249, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036944700002550235}, "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.0002013349999856473}}, {"call": {"outcome": "passed", "duration": 0.058389136000016606}, "setup": {"outcome": "passed", "duration": 0.00032651699996222305}, "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.00018303000001651526}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000729175000003579, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036910599999373517}, "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.00019217700003082427}}, {"call": {"outcome": "passed", "duration": 0.08908766799999057}, "setup": {"outcome": "passed", "duration": 0.00032482400001754286}, "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.00020851800002219534}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007791379999844139, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003739050000035604}, "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.0002132969999593115}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007111110000437293, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003615619999663977}, "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.0002132160000201111}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007699310000361947, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035657200004379774}, "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.00020933900003683448}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06022968599995693, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003233310000041456}, "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.0001862869999627037}}, {"call": {"outcome": "passed", "duration": 0.03762507499999401}, "setup": {"outcome": "passed", "duration": 0.0003861380000103054}, "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.0001915560000043115}}, {"call": {"outcome": "passed", "duration": 0.007658392999985608}, "setup": {"outcome": "passed", "duration": 0.0003895140000054198}, "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.0001828290000389643}}, {"call": {"outcome": "passed", "duration": 0.0018794839999713986}, "setup": {"outcome": "passed", "duration": 0.00039069600001084837}, "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.00019149600001355793}}, {"call": {"outcome": "passed", "duration": 0.001818649999961508}, "setup": {"outcome": "passed", "duration": 0.0003550190000396469}, "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.0002910509999765054}}, {"call": {"outcome": "failed", "duration": 0.010717036999949414, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/wav/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006377249999900414}, "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.00018464300001141964}}, {"call": {"outcome": "skipped", "duration": 0.00020989000000781743, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00040563400000337424}, "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.00018028400000957845}}, {"call": {"outcome": "failed", "duration": 0.010093218000008619, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/wav/core.py:84: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003140140000255087}, "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.00018506399999296264}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008028319999766609, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011991190000344432}, "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.00022624100000712133}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000769398999977966, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004155420000415688}, "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.000213255999994999}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0033822550000195406, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004161630000112382}, "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.00020511100001385785}}, {"call": {"outcome": "passed", "duration": 0.0091485219999754}, "setup": {"outcome": "passed", "duration": 0.00043468800004120567}, "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.00022335500000281172}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00314964400001827, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004158240000151636}, "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.0003326180000158274}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008285700000101315, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011488350000377068}, "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.000182659000017793}}, {"call": {"outcome": "passed", "duration": 0.04695181900001444}, "setup": {"outcome": "passed", "duration": 0.00034163500004069647}, "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.00020387799997934053}}, {"call": {"outcome": "passed", "duration": 0.06550570099994957}, "setup": {"outcome": "passed", "duration": 0.00033657500000572327}, "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.0001859359999798471}}, {"call": {"outcome": "passed", "duration": 0.05185825000000932}, "setup": {"outcome": "passed", "duration": 0.0003410940000208029}, "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.00018085599998585167}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007780070000080741, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003381389999503881}, "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.00026124599997956466}}, {"call": {"outcome": "passed", "duration": 0.018066620000013245}, "setup": {"outcome": "passed", "duration": 0.0006592259999820271}, "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.0001957139999717583}}, {"call": {"outcome": "passed", "duration": 0.010682292000012694}, "setup": {"outcome": "passed", "duration": 0.000437693999970179}, "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.00019202700002551865}}, {"call": {"outcome": "passed", "duration": 0.00047310099995456767}, "setup": {"outcome": "passed", "duration": 0.0006895529999724204}, "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.00018398200001001896}}, {"call": {"outcome": "passed", "duration": 0.027674954000019625}, "setup": {"outcome": "passed", "duration": 0.00047002499997006453}, "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.00019241799998326314}}, {"call": {"outcome": "passed", "duration": 0.003115766000007625}, "setup": {"outcome": "passed", "duration": 0.0003600100000085149}, "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.00019083500001215725}}, {"call": {"outcome": "passed", "duration": 0.0002318609999747423}, "setup": {"outcome": "passed", "duration": 0.0003117500000371365}, "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.00018674699998655342}}, {"call": {"outcome": "passed", "duration": 0.001640011000006325}, "setup": {"outcome": "passed", "duration": 0.0002992059999655794}, "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.00020631399996773325}}, {"call": {"outcome": "passed", "duration": 0.0003000380000344194}, "setup": {"outcome": "passed", "duration": 0.00032629700001507445}, "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.00021739499999284817}}, {"call": {"outcome": "passed", "duration": 0.0006992700000409968}, "setup": {"outcome": "passed", "duration": 0.001253270999995948}, "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.0002088979999825824}}, {"call": {"outcome": "passed", "duration": 0.0020521170000051825}, "setup": {"outcome": "passed", "duration": 0.0006191519999561024}, "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.0002103020000276956}}, {"call": {"outcome": "passed", "duration": 0.0015682779999792729}, "setup": {"outcome": "passed", "duration": 0.0006304839999984324}, "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.0002046809999569632}}, {"call": {"outcome": "passed", "duration": 0.08397760399998333}, "setup": {"outcome": "passed", "duration": 0.000627807999990182}, "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.0002336939999736387}}, {"call": {"outcome": "passed", "duration": 0.2985983460000057}, "setup": {"outcome": "passed", "duration": 0.0006398910000484648}, "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.00021464899998591136}}, {"call": {"outcome": "passed", "duration": 0.01375952800003688}, "setup": {"outcome": "passed", "duration": 0.0006595670000137943}, "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.00021539099998335587}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009365230000071278, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006287599999836857}, "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.0002353770000240729}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008786440000108087, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006290310000167665}, "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.000218527000015456}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008074730000089403, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006299519999970471}, "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.00024875200000451514}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.021722820999968917, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006110870000384239}, "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.00023211199999195742}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011578639999925144, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006301029999917773}, "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.00020342899995284824}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011426149999920199, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006046450000098957}, "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.0002117440000120041}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/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.0007981249999602369, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.0006221569999524945}, "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.0002099110000131077}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/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.0007675479999988966, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.0006705170000032012}, "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.0002153009999688038}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009664880000173071, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006093829999826994}, "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.0002146589999938442}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008173410000154036, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006311239999945428}, "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.0002142779999871891}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008934520000138946, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006056769999531753}, "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.00023131999995484875}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007315209999774197, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006164569999782543}, "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.00023288300002377582}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/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.000746677999984513, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.0006251529999872218}, "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.00020537199998216238}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007921629999714241, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006057260000034148}, "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.0002188070000102016}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008115199999565448, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006407320000221262}, "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.0002050610000310371}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008073109999600092, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006264460000124927}, "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.00023215199996684532}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007779769999842756, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006164760000046954}, "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.00020607300001529438}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002969603999986248, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006195020000063778}, "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.00020701500000086526}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008146159999569136, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006040240000402264}, "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.00021370799998976509}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019045029999915641, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006084620000024188}, "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.0004997389999630286}}, {"call": {"outcome": "passed", "duration": 0.0002495740000085789}, "setup": {"outcome": "passed", "duration": 0.0004157430000191198}, "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.0001723500000139211}}, {"call": {"outcome": "passed", "duration": 0.0022882370000161245}, "setup": {"outcome": "passed", "duration": 0.0003113299999881747}, "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.00017133800002966382}}, {"call": {"outcome": "passed", "duration": 0.002193519999991622}, "setup": {"outcome": "passed", "duration": 0.0003040860000282919}, "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.0001764689999959046}}, {"call": {"outcome": "passed", "duration": 0.00026454200002490325}, "setup": {"outcome": "passed", "duration": 0.00029337600000189923}, "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.00016367500001024382}}, {"call": {"outcome": "passed", "duration": 0.0008232519999751275}, "setup": {"outcome": "passed", "duration": 0.00029074000002538014}, "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.00016705000001593362}}, {"call": {"outcome": "passed", "duration": 0.0006534249999958774}, "setup": {"outcome": "passed", "duration": 0.00029077200002802783}, "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.00016933500000959611}}, {"call": {"outcome": "passed", "duration": 0.006115055999998731}, "setup": {"outcome": "passed", "duration": 0.0011300020000248878}, "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.00020055300001331489}}, {"call": {"outcome": "passed", "duration": 0.0003376480000270021}, "setup": {"outcome": "passed", "duration": 0.00042488099995807715}, "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.00019068500000685162}}, {"call": {"outcome": "passed", "duration": 0.00031486500000710294}, "setup": {"outcome": "passed", "duration": 0.0004381150000085654}, "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.0001942320000125619}}, {"call": {"outcome": "passed", "duration": 0.0017209520000278644}, "setup": {"outcome": "passed", "duration": 0.000406265999970401}, "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.00019786800004339966}}, {"call": {"outcome": "passed", "duration": 0.007834984999988137}, "setup": {"outcome": "passed", "duration": 0.0004290780000246741}, "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.00020103399998561144}}, {"call": {"outcome": "passed", "duration": 0.007742873999973199}, "setup": {"outcome": "passed", "duration": 0.0004430349999893224}, "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.00020953899996811742}}, {"call": {"outcome": "passed", "duration": 0.0003483280000295963}, "setup": {"outcome": "passed", "duration": 0.0004395980000140298}, "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.00019988200000398137}}, {"call": {"outcome": "passed", "duration": 0.0015932040000166126}, "setup": {"outcome": "passed", "duration": 0.0004238689999738199}, "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.00019787799999448907}}, {"call": {"outcome": "passed", "duration": 0.002682781000032719}, "setup": {"outcome": "passed", "duration": 0.0004299189999983355}, "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.00019779799998786984}}, {"call": {"outcome": "passed", "duration": 0.0005781450000199584}, "setup": {"outcome": "passed", "duration": 0.00043137200003684484}, "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.0001968359999864333}}, {"call": {"outcome": "passed", "duration": 0.046647108000001936}, "setup": {"outcome": "passed", "duration": 0.0004066669999929218}, "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.00021555099999659433}}, {"call": {"outcome": "passed", "duration": 0.37928657100002283}, "setup": {"outcome": "passed", "duration": 0.00044051900005115385}, "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.0002190580000274167}}, {"call": {"outcome": "passed", "duration": 0.0026966070000185027}, "setup": {"outcome": "passed", "duration": 0.0004247109999937493}, "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.00022936600004186403}}, {"call": {"outcome": "passed", "duration": 0.08754785700000411}, "setup": {"outcome": "passed", "duration": 0.00041893899998513007}, "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.0002742099999863967}}, {"call": {"outcome": "passed", "duration": 0.03746721099997785}, "setup": {"outcome": "passed", "duration": 0.0004319239999972524}, "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.00021626200003765916}}, {"call": {"outcome": "passed", "duration": 0.10599771900001542}, "setup": {"outcome": "passed", "duration": 0.00042391800002405944}, "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.00021785500001669789}}, {"call": {"outcome": "passed", "duration": 0.021345569000004616}, "setup": {"outcome": "passed", "duration": 0.00045426500003031833}, "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.0002301380000062636}}, {"call": {"outcome": "passed", "duration": 0.032429900000011}, "setup": {"outcome": "passed", "duration": 0.0004185280000115199}, "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.00021653300001389653}}, {"call": {"outcome": "passed", "duration": 0.03537442699996518}, "setup": {"outcome": "passed", "duration": 0.00043679300000576404}, "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.0002106919999960155}}, {"call": {"outcome": "passed", "duration": 0.03450263500002393}, "setup": {"outcome": "passed", "duration": 0.0004234479999922769}, "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.00020992999998270534}}, {"call": {"outcome": "passed", "duration": 0.007514208999964467}, "setup": {"outcome": "passed", "duration": 0.0004178679999995438}, "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.00021133299998155053}}, {"call": {"outcome": "passed", "duration": 0.012679177000052277}, "setup": {"outcome": "passed", "duration": 0.0004475630000229103}, "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.00021123299995906564}}, {"call": {"outcome": "passed", "duration": 0.001129119999973227}, "setup": {"outcome": "passed", "duration": 0.00042349699998567303}, "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.00022425699995665127}}, {"call": {"outcome": "passed", "duration": 0.0013294029999997292}, "setup": {"outcome": "passed", "duration": 0.00042516100000966617}, "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.00020526199995174466}}, {"call": {"outcome": "passed", "duration": 0.020860367000011593}, "setup": {"outcome": "passed", "duration": 0.00041154500001994165}, "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.00022850499999549356}}, {"call": {"outcome": "passed", "duration": 0.036686909000025025}, "setup": {"outcome": "passed", "duration": 0.00042122399997879256}, "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.000216211999997995}}, {"call": {"outcome": "passed", "duration": 0.012081084999977065}, "setup": {"outcome": "passed", "duration": 0.00043659299996079426}, "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.00021112299998549133}}, {"call": {"outcome": "passed", "duration": 0.0157331180000142}, "setup": {"outcome": "passed", "duration": 0.00043036099998516875}, "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.00021408799995015215}}, {"call": {"outcome": "passed", "duration": 0.023274727999989864}, "setup": {"outcome": "passed", "duration": 0.0004333960000053594}, "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.00021127299999079696}}, {"call": {"outcome": "passed", "duration": 0.005484391999971194}, "setup": {"outcome": "passed", "duration": 0.00044522800004642704}, "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.00021112299998549133}}, {"call": {"outcome": "passed", "duration": 0.020757025000023077}, "setup": {"outcome": "passed", "duration": 0.0004475119999938215}, "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.000215221000019028}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008301849999838851, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044376599998940947}, "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.00020750599998109465}}, {"call": {"outcome": "passed", "duration": 0.002079078000008394}, "setup": {"outcome": "passed", "duration": 0.00041266699997777323}, "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.00021460900001102345}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.02079591699998673, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004258719999938876}, "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.00021812599999293525}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007268020000310571, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004307610000182649}, "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.0006163469999478366}}, {"call": {"outcome": "passed", "duration": 0.011248675999979696}, "setup": {"outcome": "passed", "duration": 0.0009914839999964897}, "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.0002177850000180115}}, {"call": {"outcome": "passed", "duration": 0.011464547999992192}, "setup": {"outcome": "passed", "duration": 0.0004457389999856787}, "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.0002650530000209983}}, {"call": {"outcome": "passed", "duration": 0.01753754500003879}, "setup": {"outcome": "passed", "duration": 0.00045899399998461377}, "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.00025907099995947647}}, {"call": {"outcome": "passed", "duration": 0.04747677199998179}, "setup": {"outcome": "passed", "duration": 0.00043960800002196265}, "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.00026165700001001824}}, {"call": {"outcome": "passed", "duration": 0.04666974100001653}, "setup": {"outcome": "passed", "duration": 0.00042311699996844254}, "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.0003521649999811416}}, {"call": {"outcome": "passed", "duration": 0.00022607099998595004}, "setup": {"outcome": "passed", "duration": 0.0004390569999941363}, "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.00020356799996079644}}, {"call": {"outcome": "passed", "duration": 0.0005955390000167426}, "setup": {"outcome": "passed", "duration": 0.00029845599999589467}, "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.00017578699998921365}}, {"call": {"outcome": "passed", "duration": 0.00047969300004524484}, "setup": {"outcome": "passed", "duration": 0.0002947379999795885}, "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.00017746999998280444}}, {"call": {"outcome": "passed", "duration": 0.003717324999968241}, "setup": {"outcome": "passed", "duration": 0.0003046669999662299}, "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.00019473200001129953}}, {"call": {"outcome": "skipped", "duration": 0.00023553800002673597, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0006736430000273685}, "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.00017039699997667412}}, {"call": {"outcome": "failed", "duration": 0.011628893000022344, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/y/core.py:149: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031448499998987245}, "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.0001883609999708824}}, {"call": {"outcome": "passed", "duration": 0.00031293199998572163}, "setup": {"outcome": "passed", "duration": 0.0009770980000212148}, "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.00017634799996812944}}, {"call": {"outcome": "passed", "duration": 0.002494980999983909}, "setup": {"outcome": "passed", "duration": 0.0003552310000145553}, "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.00017275099997959842}}, {"call": {"outcome": "passed", "duration": 0.0007284750000167151}, "setup": {"outcome": "passed", "duration": 0.00035158299999693554}, "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.00024280200000248442}}, {"call": {"outcome": "failed", "duration": 0.011146876999987398, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/io/zmap/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006575639999937266}, "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.00020327799995811802}}, {"call": {"outcome": "passed", "duration": 0.009568801000000349}, "setup": {"outcome": "passed", "duration": 0.000612138999997569}, "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.00018208899996352557}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00150566100001015, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00022632100001374056}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008668020000186516, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00020095399997899221}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008699190000243107, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00020103399998561144}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001068897999971341, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00020700599998235703}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008728840000458149, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00022126100003561078}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008674839999684991, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00020247700001618796}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008507730000246738, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00020821699996531606}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008758189999866772, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00020652400002063587}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008646080000289658, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00020079299997632916}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008669929999882697, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00020204600002671214}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014000339999711287, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00020704500002466375}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008681750000505417, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.00021484899997403772}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008602099999848178, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/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.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.0004317130000117686}}, {"call": {"outcome": "failed", "duration": 0.011320510000018658, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/realtime/rttrace.py:67: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00066845399999238}, "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.00021431900000834503}}, {"call": {"outcome": "passed", "duration": 0.000508666000030189}, "setup": {"outcome": "passed", "duration": 0.0006659590000026583}, "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.0001719300000218027}}, {"call": {"outcome": "passed", "duration": 0.00045163999999431326}, "setup": {"outcome": "passed", "duration": 0.00031128899996701875}, "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.00018545500000755055}}, {"call": {"outcome": "passed", "duration": 0.0004854430000023058}, "setup": {"outcome": "passed", "duration": 0.00028884800002515476}, "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.00017455500000096436}}, {"call": {"outcome": "passed", "duration": 0.0009502780000048006}, "setup": {"outcome": "passed", "duration": 0.00029106100004128166}, "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.00017036700000971905}}, {"call": {"outcome": "passed", "duration": 0.0005952380000167068}, "setup": {"outcome": "passed", "duration": 0.00029102100000955033}, "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.00016884500001879132}}, {"call": {"outcome": "passed", "duration": 0.0006957239999678677}, "setup": {"outcome": "passed", "duration": 0.0006275870000536088}, "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.00017405300002337754}}, {"call": {"outcome": "passed", "duration": 0.0008121110000161025}, "setup": {"outcome": "passed", "duration": 0.0003040249999912703}, "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.00017297099998359045}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00212226799999371, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029524999996510815}, "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.00018423199998096607}}, {"call": {"outcome": "passed", "duration": 0.0021577439999873604}, "setup": {"outcome": "passed", "duration": 0.0002974129999984143}, "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.00017874299999220966}}, {"call": {"outcome": "passed", "duration": 0.009384497999974428}, "setup": {"outcome": "passed", "duration": 0.005671620999976312}, "lineno": 39, "nodeid": "realtime/tests/test_signal.py::TestRealTimeSignal::test_square", "outcome": "passed", "keywords": ["test_square", "filterwarnings", "TestRealTimeSignal", "test_signal.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020737599999165468}}, {"call": {"outcome": "passed", "duration": 0.01460434900002383}, "setup": {"outcome": "passed", "duration": 0.005196687999955429}, "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.00021963900002219816}}, {"call": {"outcome": "passed", "duration": 0.014900058999955945}, "setup": {"outcome": "passed", "duration": 0.005156924000004892}, "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.00022020000000111395}}, {"call": {"outcome": "passed", "duration": 0.03465747399997099}, "setup": {"outcome": "passed", "duration": 0.005432716000029814}, "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.00022070099998927617}}, {"call": {"outcome": "passed", "duration": 0.002450008000039361}, "setup": {"outcome": "passed", "duration": 0.005160470000021178}, "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.00022207299997489827}}, {"call": {"outcome": "passed", "duration": 0.002480774999980895}, "setup": {"outcome": "passed", "duration": 0.005190145000028679}, "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.0002213120000078561}}, {"call": {"outcome": "passed", "duration": 0.05612898800001176}, "setup": {"outcome": "passed", "duration": 0.00512437200001159}, "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.0002419909999957781}}, {"call": {"outcome": "passed", "duration": 0.00939117999996597}, "setup": {"outcome": "passed", "duration": 0.005135593999966659}, "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.0002185260000260314}}, {"call": {"outcome": "passed", "duration": 0.06122018799999296}, "setup": {"outcome": "passed", "duration": 0.00511808200002406}, "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.00023789300001908487}}, {"call": {"outcome": "passed", "duration": 0.008309026999995694}, "setup": {"outcome": "passed", "duration": 0.005215321999969547}, "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.0002165230000059637}}, {"call": {"outcome": "passed", "duration": 0.021410590000016327}, "setup": {"outcome": "passed", "duration": 0.005113882999978614}, "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.0002422709999905237}}, {"call": {"outcome": "passed", "duration": 0.031886568000004445}, "setup": {"outcome": "passed", "duration": 0.00512069500001644}, "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.00042078300003822733}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015030760000058763, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001021771000011995}, "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.00018615599998383914}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016770799999790142, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033080599996537785}, "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.0002197689999547947}}, {"call": {"outcome": "failed", "duration": 0.005342698999982076, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/__init__.py:40: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006490269999517295}, "lineno": 1, "nodeid": "signal/__init__.py::obspy.signal", "outcome": "failed", "keywords": ["obspy.signal", "filterwarnings", "__init__.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018739900002628929}}, {"call": {"outcome": "failed", "duration": 0.005160760000023856, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/cross_correlation.py:132: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004392069999994419}, "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.0001836110000112967}}, {"call": {"outcome": "failed", "duration": 0.005120795999971506, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/cross_correlation.py:832: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003252650000149515}, "lineno": 802, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.correlate_stream_template", "outcome": "failed", "keywords": ["obspy.signal.cross_correlation.correlate_stream_template", "filterwarnings", "cross_correlation.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018164800002296033}}, {"call": {"outcome": "failed", "duration": 0.005361413999992237, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/cross_correlation.py:232: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031891300000097544}, "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.00018451400001140428}}, {"call": {"outcome": "failed", "duration": 0.005118010999979106, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/cross_correlation.py:1047: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003426670000408194}, "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.00018319100001917832}}, {"call": {"outcome": "failed", "duration": 0.005265455999960977, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/cross_correlation.py:647: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032320100001470564}, "lineno": 622, "nodeid": "signal/cross_correlation.py::obspy.signal.cross_correlation.templates_max_similarity", "outcome": "failed", "keywords": ["obspy.signal.cross_correlation.templates_max_similarity", "filterwarnings", "cross_correlation.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020121500000414017}}, {"call": {"outcome": "passed", "duration": 0.0028746879999630437}, "setup": {"outcome": "passed", "duration": 0.0003184419999797683}, "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.00018813999997746578}}, {"call": {"outcome": "failed", "duration": 0.005405124999981581, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/detrend.py:85: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00045493700002907644}, "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.000202988000012283}}, {"call": {"outcome": "failed", "duration": 0.005174887000009676, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/detrend.py:148: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031807199997047064}, "lineno": 119, "nodeid": "signal/detrend.py::obspy.signal.detrend.spline", "outcome": "failed", "keywords": ["obspy.signal.detrend.spline", "filterwarnings", "detrend.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018615599998383914}}, {"call": {"outcome": "passed", "duration": 0.002942434000033245}, "setup": {"outcome": "passed", "duration": 0.0004579120000016701}, "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.00018455299999686758}}, {"call": {"outcome": "passed", "duration": 0.002781363999986297}, "setup": {"outcome": "passed", "duration": 0.0003154259999860187}, "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.00017386299998634058}}, {"call": {"outcome": "passed", "duration": 0.002639169000019592}, "setup": {"outcome": "passed", "duration": 0.00031740000002855595}, "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.0001736939999545939}}, {"call": {"outcome": "skipped", "duration": 0.00024491600004239444, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.000414190000014969}, "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.0001757269999984601}}, {"call": {"outcome": "passed", "duration": 0.003961540000034347}, "setup": {"outcome": "passed", "duration": 0.00042201500002647663}, "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.00017595700001038495}}, {"call": {"outcome": "failed", "duration": 0.005354640999996718, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/spectral_estimation.py:216: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004311120000011215}, "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.00018865099997356083}}, {"call": {"outcome": "passed", "duration": 0.2516634520000025}, "setup": {"outcome": "passed", "duration": 0.0007575699999620156}, "lineno": 35, "nodeid": "signal/tests/test_array_analysis.py::TestArray::test_array_rotation", "outcome": "passed", "keywords": ["test_array_rotation", "filterwarnings", "TestArray", "test_array_analysis.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022174200000790734}}, {"call": {"outcome": "passed", "duration": 0.2474097930000312}, "setup": {"outcome": "passed", "duration": 0.00042664299996886257}, "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.00021485999997139515}}, {"call": {"outcome": "passed", "duration": 0.24653134100003626}, "setup": {"outcome": "passed", "duration": 0.0004080390000353873}, "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.0002288349999730599}}, {"call": {"outcome": "passed", "duration": 0.0004859839999653559}, "setup": {"outcome": "passed", "duration": 0.00038706999998794345}, "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.0002044610000098146}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008714699999927689, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011562310000385878}, "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.0002142390000017258}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007891779999908977, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003391609999994216}, "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.0001960949999784134}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007711640000138686, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036409800003411874}, "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.00019157700000960176}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000766847000022608, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035393799998928444}, "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.00025132700000085606}}, {"call": {"outcome": "passed", "duration": 0.08285196899998937}, "setup": {"outcome": "passed", "duration": 0.0045065420000014456}, "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.00021036099997218116}}, {"call": {"outcome": "passed", "duration": 0.22652294400000983}, "setup": {"outcome": "passed", "duration": 0.003233995000016421}, "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.00021259499999359832}}, {"call": {"outcome": "passed", "duration": 0.07418780200003994}, "setup": {"outcome": "passed", "duration": 0.0032422910000491356}, "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.00020986099997344354}}, {"call": {"outcome": "passed", "duration": 0.056139962999964155}, "setup": {"outcome": "passed", "duration": 0.003215039999986402}, "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.00032144799996558504}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002192497999999432, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044235299998263145}, "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.00018514399999958187}}, {"call": {"outcome": "passed", "duration": 0.000781193000022995}, "setup": {"outcome": "passed", "duration": 0.0002988260000051923}, "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.00017497500004992617}}, {"call": {"outcome": "passed", "duration": 0.0006472740000162958}, "setup": {"outcome": "passed", "duration": 0.0008123309999632511}, "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.000173873999983698}}, {"call": {"outcome": "passed", "duration": 0.00038904399997363726}, "setup": {"outcome": "passed", "duration": 0.00032981300000756164}, "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.00017116899999791713}}, {"call": {"outcome": "passed", "duration": 0.0017000619999976152}, "setup": {"outcome": "passed", "duration": 0.00047754800004895515}, "lineno": 99, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate", "outcome": "passed", "keywords": ["test_correlate", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017768099996828823}}, {"call": {"outcome": "passed", "duration": 0.0022897389999911866}, "setup": {"outcome": "passed", "duration": 0.00032353200003854}, "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.00017379299998765418}}, {"call": {"outcome": "passed", "duration": 0.0019253410000033}, "setup": {"outcome": "passed", "duration": 0.0002986149999628651}, "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.0001920869999594288}}, {"call": {"outcome": "passed", "duration": 0.0002808730000083415}, "setup": {"outcome": "passed", "duration": 0.0002951289999941764}, "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.00016893500003334339}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020485910000047625, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003139439999699789}, "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.0001837820000218926}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013565639999910672, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010273709999637504}, "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.0002084380000155761}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001142005000019708, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004885090000357195}, "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.0002218029999880855}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002024697000024389, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030386500003487527}, "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.00020002200000135417}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027192480000053365, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002939269999728822}, "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.00021242399998300243}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002048159000025862, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002996569999709209}, "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.00019390100004557098}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002015558999971745, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003151360000401837}, "lineno": 318, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_correct_alignment_of_normalization", "outcome": "failed", "keywords": ["test_correlate_template_correct_alignment_of_normalization", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019415100001651808}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002029634999985319, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005097580000210655}, "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.00018619600001557046}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021113469999818335, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002972129999534445}, "lineno": 338, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_template_zeros_in_input", "outcome": "failed", "keywords": ["test_correlate_template_zeros_in_input", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018310000001520166}}, {"call": {"outcome": "passed", "duration": 0.004762809999988349}, "setup": {"outcome": "passed", "duration": 0.00030116099998167556}, "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.00018738900001835646}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022137079999993148, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003018109999857188}, "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.0001988399999959256}}, {"call": {"outcome": "passed", "duration": 0.00270012300001099}, "setup": {"outcome": "passed", "duration": 0.000302793000003021}, "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.0001888120000330673}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002153344999953788, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030044800001860494}, "lineno": 439, "nodeid": "signal/tests/test_cross_correlation.py::TestCrossCorrelation::test_correlate_stream_template_and_correlation_detector", "outcome": "failed", "keywords": ["test_correlate_stream_template_and_correlation_detector", "filterwarnings", "TestCrossCorrelation", "test_cross_correlation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002977640000381143}}, {"call": {"outcome": "passed", "duration": 0.0009506890000352541}, "setup": {"outcome": "passed", "duration": 0.00042642300002171396}, "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.00018444299996644986}}, {"call": {"outcome": "passed", "duration": 0.0008936620000099538}, "setup": {"outcome": "passed", "duration": 0.000313133000020116}, "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.00018316099999537983}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002014516999963689, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004558769999789547}, "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.00024593799997774113}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020554540000148336, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000437754000017776}, "lineno": 60, "nodeid": "signal/tests/test_detrend.py::TestDetrend::test_spline_detrend_plotting", "outcome": "failed", "keywords": ["test_spline_detrend_plotting", "filterwarnings", "image", "TestDetrend", "test_detrend.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023270300005151512}}, {"call": {"outcome": "passed", "duration": 0.0008222399999908703}, "setup": {"outcome": "passed", "duration": 0.0004272140000125546}, "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.000184913999987657}}, {"call": {"outcome": "passed", "duration": 0.003434738999999354}, "setup": {"outcome": "passed", "duration": 0.0002972030000023551}, "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.00019263799998725517}}, {"call": {"outcome": "passed", "duration": 0.005562997000026826}, "setup": {"outcome": "passed", "duration": 0.0011331179999842789}, "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.00018932300002916236}}, {"call": {"outcome": "passed", "duration": 0.005080889999987903}, "setup": {"outcome": "passed", "duration": 0.0003500810000218735}, "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.00020872899995083571}}, {"call": {"outcome": "passed", "duration": 0.004935971000008976}, "setup": {"outcome": "passed", "duration": 0.00034072399995466185}, "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.00019034399997508444}}, {"call": {"outcome": "passed", "duration": 0.004818322000005537}, "setup": {"outcome": "passed", "duration": 0.0003663310000092679}, "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.0001878989999681835}}, {"call": {"outcome": "passed", "duration": 0.00500491000002512}, "setup": {"outcome": "passed", "duration": 0.000370238000016343}, "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.00018762900003821414}}, {"call": {"outcome": "passed", "duration": 0.004850743000019975}, "setup": {"outcome": "passed", "duration": 0.00034691499996597486}, "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.00018649700001560632}}, {"call": {"outcome": "passed", "duration": 0.0043549500000494845}, "setup": {"outcome": "passed", "duration": 0.0003461239999751342}, "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.0001842429999783235}}, {"call": {"outcome": "passed", "duration": 0.0029199720000292473}, "setup": {"outcome": "passed", "duration": 0.00031923300002745236}, "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.00018711799998527567}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020393929999613647, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003057789999729721}, "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.00020424000001639797}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020432509999750437, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029914700002109385}, "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.0002653040000382134}}, {"call": {"outcome": "passed", "duration": 0.02226982299998781}, "setup": {"outcome": "passed", "duration": 0.004985513999997693}, "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.0002098410000144213}}, {"call": {"outcome": "passed", "duration": 0.000378754999985631}, "setup": {"outcome": "passed", "duration": 0.004102340999963872}, "lineno": 96, "nodeid": "signal/tests/test_freqattributes.py::TestFreqTrace::test_cfrequency_no_win", "outcome": "passed", "keywords": ["test_cfrequency_no_win", "filterwarnings", "TestFreqTrace", "test_freqattributes.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020254700001487436}}, {"call": {"outcome": "passed", "duration": 0.00825668800001722}, "setup": {"outcome": "passed", "duration": 0.0051388889999657295}, "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.0002061530000219136}}, {"call": {"outcome": "passed", "duration": 0.011455818000001727}, "setup": {"outcome": "passed", "duration": 0.0041304920000015954}, "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.00020585300001130236}}, {"call": {"outcome": "passed", "duration": 0.001968180999995184}, "setup": {"outcome": "passed", "duration": 0.005118901000003007}, "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.0002063240000325095}}, {"call": {"outcome": "passed", "duration": 0.0021740740000382175}, "setup": {"outcome": "passed", "duration": 0.004081942000027539}, "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.0003339209999921877}}, {"call": {"outcome": "passed", "duration": 0.0014832790000127716}, "setup": {"outcome": "passed", "duration": 0.003936291999991681}, "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.0002825060000191115}}, {"call": {"outcome": "passed", "duration": 0.0014346979999686482}, "setup": {"outcome": "passed", "duration": 0.0004368720000229587}, "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.0001760170000011385}}, {"call": {"outcome": "passed", "duration": 0.000521961000004012}, "setup": {"outcome": "passed", "duration": 0.00029777399998920373}, "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.0001894119999974464}}, {"call": {"outcome": "passed", "duration": 0.002102510999975493}, "setup": {"outcome": "passed", "duration": 0.0002927250000084314}, "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.00017109899999923073}}, {"call": {"outcome": "passed", "duration": 1.4672924980000062}, "setup": {"outcome": "passed", "duration": 0.0004494060000297395}, "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.00032478399998581153}}, {"call": {"outcome": "passed", "duration": 0.01582580600000938}, "setup": {"outcome": "passed", "duration": 0.0013275090000206546}, "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.00018923199996834228}}, {"call": {"outcome": "passed", "duration": 0.08930916999997862}, "setup": {"outcome": "passed", "duration": 0.0003494599999953607}, "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.00019269799997800874}}, {"call": {"outcome": "passed", "duration": 0.019282906999990246}, "setup": {"outcome": "passed", "duration": 0.0003483379999806857}, "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.00019230800000968884}}, {"call": {"outcome": "passed", "duration": 0.21193205499997703}, "setup": {"outcome": "passed", "duration": 0.0003553710000119281}, "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.0002092089999905511}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009078389999785941, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035225499999569365}, "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.00019751700000369965}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007854810000367252, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000361161999990145}, "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.00019275800002560572}}, {"call": {"outcome": "passed", "duration": 0.008094105999987278}, "setup": {"outcome": "passed", "duration": 0.000356373000045096}, "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.00018426299999418916}}, {"call": {"outcome": "passed", "duration": 0.056875700999967194}, "setup": {"outcome": "passed", "duration": 0.00033983200000875513}, "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.00018771899999592279}}, {"call": {"outcome": "passed", "duration": 0.002340983999999935}, "setup": {"outcome": "passed", "duration": 0.0003456530000107705}, "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.00018734899998662513}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008324389999643245, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040377099998067933}, "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.00018740900003422212}}, {"call": {"outcome": "passed", "duration": 0.004369006999979774}, "setup": {"outcome": "passed", "duration": 0.0003562129999750141}, "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.00018951299995251247}}, {"call": {"outcome": "passed", "duration": 0.00665976700003057}, "setup": {"outcome": "passed", "duration": 0.0003717509999887625}, "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.00019218799997133829}}, {"call": {"outcome": "passed", "duration": 0.00042771500000071683}, "setup": {"outcome": "passed", "duration": 0.0003493599999728758}, "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.00028061099999376893}}, {"call": {"outcome": "passed", "duration": 0.0006712780000270868}, "setup": {"outcome": "passed", "duration": 0.0006743440000036571}, "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.000182028999972772}}, {"call": {"outcome": "passed", "duration": 0.0015306169999576014}, "setup": {"outcome": "passed", "duration": 0.0003315170000064427}, "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.0001869879999958357}}, {"call": {"outcome": "passed", "duration": 0.03592703599997549}, "setup": {"outcome": "passed", "duration": 0.00035162500000751606}, "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.00022747299999537063}}, {"call": {"outcome": "passed", "duration": 0.07436603400003605}, "setup": {"outcome": "passed", "duration": 0.006553128999996716}, "lineno": 67, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization", "outcome": "passed", "keywords": ["test_polarization", "filterwarnings", "TestPolarization", "test_polarization.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021318600005315602}}, {"call": {"outcome": "passed", "duration": 0.0010915899999872636}, "setup": {"outcome": "passed", "duration": 0.005659567000009247}, "lineno": 104, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization_1d", "outcome": "passed", "keywords": ["test_polarization_1d", "filterwarnings", "TestPolarization", "test_polarization.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020962999997209408}}, {"call": {"outcome": "passed", "duration": 0.08855167100000472}, "setup": {"outcome": "passed", "duration": 0.005791502999954901}, "lineno": 116, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization_pm", "outcome": "passed", "keywords": ["test_polarization_pm", "filterwarnings", "TestPolarization", "test_polarization.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021350700001221412}}, {"call": {"outcome": "passed", "duration": 0.0185485119999953}, "setup": {"outcome": "passed", "duration": 0.005571643999985554}, "lineno": 147, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization_flinn", "outcome": "passed", "keywords": ["test_polarization_flinn", "filterwarnings", "TestPolarization", "test_polarization.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021140400002650495}}, {"call": {"outcome": "passed", "duration": 1.092282391000026}, "setup": {"outcome": "passed", "duration": 0.00559554799997386}, "lineno": 173, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization_vidale", "outcome": "passed", "keywords": ["test_polarization_vidale", "filterwarnings", "TestPolarization", "test_polarization.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00036515900001177215}}, {"call": {"outcome": "passed", "duration": 0.0005294250000247303}, "setup": {"outcome": "passed", "duration": 0.0004465800000161835}, "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.00019990099997357902}}, {"call": {"outcome": "passed", "duration": 0.044943878000026416}, "setup": {"outcome": "passed", "duration": 0.0002955900000074507}, "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.00018717800003287266}}, {"call": {"outcome": "passed", "duration": 0.005906896999988476}, "setup": {"outcome": "passed", "duration": 0.0003119309999988218}, "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.00018803899996555629}}, {"call": {"outcome": "passed", "duration": 0.009123059000046396}, "setup": {"outcome": "passed", "duration": 0.0003302940000367016}, "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.00018101699998851473}}, {"call": {"outcome": "passed", "duration": 0.005435600999987855}, "setup": {"outcome": "passed", "duration": 0.0003080029999864564}, "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.0001816779999899154}}, {"call": {"outcome": "passed", "duration": 0.01026225800001157}, "setup": {"outcome": "passed", "duration": 0.00032591600000841936}, "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.00019902999997611914}}, {"call": {"outcome": "passed", "duration": 0.016731150999987676}, "setup": {"outcome": "passed", "duration": 0.00030445599998074613}, "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.0004279560000099991}}, {"call": {"outcome": "passed", "duration": 0.013837688999956299}, "setup": {"outcome": "passed", "duration": 0.00032394300001215015}, "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.0001828399999794783}}, {"call": {"outcome": "passed", "duration": 0.015177902000004906}, "setup": {"outcome": "passed", "duration": 0.0011390590000246448}, "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.0001854349999916849}}, {"call": {"outcome": "passed", "duration": 0.014951800999995157}, "setup": {"outcome": "passed", "duration": 0.00030749199999036136}, "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.0002011249999895881}}, {"call": {"outcome": "passed", "duration": 0.009997906999956285}, "setup": {"outcome": "passed", "duration": 0.0003066200000034769}, "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.00018132700000705881}}, {"call": {"outcome": "passed", "duration": 0.006689613999981248}, "setup": {"outcome": "passed", "duration": 0.00033023400004594805}, "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.000181607999991229}}, {"call": {"outcome": "passed", "duration": 0.07355518599996458}, "setup": {"outcome": "passed", "duration": 0.000325714999974025}, "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.0001860059999785335}}, {"call": {"outcome": "passed", "duration": 0.10410730500001364}, "setup": {"outcome": "passed", "duration": 0.0003031140000189225}, "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.0001972559999785517}}, {"call": {"outcome": "passed", "duration": 0.01408006999997724}, "setup": {"outcome": "passed", "duration": 0.0003564230000279167}, "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.00021096299997225287}}, {"call": {"outcome": "passed", "duration": 0.004848077999952238}, "setup": {"outcome": "passed", "duration": 0.000347446000034779}, "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.0001937310000243997}}, {"call": {"outcome": "passed", "duration": 0.009548760999962269}, "setup": {"outcome": "passed", "duration": 0.0004182380000088415}, "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.00021287599997776852}}, {"call": {"outcome": "passed", "duration": 0.005821567999987565}, "setup": {"outcome": "passed", "duration": 0.00034761699998853146}, "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.00019543400003385614}}, {"call": {"outcome": "passed", "duration": 0.01909125099996345}, "setup": {"outcome": "passed", "duration": 0.0003926899999555644}, "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.00019217700003082427}}, {"call": {"outcome": "passed", "duration": 0.010717245000023468}, "setup": {"outcome": "passed", "duration": 0.0003080930000010085}, "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.00019670500000756874}}, {"call": {"outcome": "passed", "duration": 0.01452177099997698}, "setup": {"outcome": "passed", "duration": 0.000307641999995667}, "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.00019220799998720395}}, {"call": {"outcome": "passed", "duration": 0.005481434999978774}, "setup": {"outcome": "passed", "duration": 0.00032532499994886166}, "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.00018715799996016358}}, {"setup": {"outcome": "skipped", "duration": 0.00018309100005353685, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/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.0002647730000262527}}, {"call": {"outcome": "passed", "duration": 0.0009086199999615019}, "setup": {"outcome": "passed", "duration": 0.000505911000004744}, "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.0002479620000030991}}, {"call": {"outcome": "passed", "duration": 0.0006328270000039993}, "setup": {"outcome": "passed", "duration": 0.0004118859999948654}, "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.0002249679999977161}}, {"call": {"outcome": "passed", "duration": 0.0006112570000027517}, "setup": {"outcome": "passed", "duration": 0.00040469300000722797}, "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.00024429500001588167}}, {"call": {"outcome": "passed", "duration": 0.0005870919999892976}, "setup": {"outcome": "passed", "duration": 0.0004091409999773532}, "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.00022670199996355223}}, {"call": {"outcome": "passed", "duration": 0.01926400199999989}, "setup": {"outcome": "passed", "duration": 0.0010992349999696671}, "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.00017850199998292737}}, {"call": {"outcome": "passed", "duration": 0.017326318000016272}, "setup": {"outcome": "passed", "duration": 0.00036768300003586774}, "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.00020603299998356306}}, {"call": {"outcome": "passed", "duration": 0.0041319950000229255}, "setup": {"outcome": "passed", "duration": 0.0003424170000130289}, "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.00018569500002740824}}, {"call": {"outcome": "passed", "duration": 0.03619843100000253}, "setup": {"outcome": "passed", "duration": 0.0003211169999985941}, "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.00018772900000385562}}, {"call": {"outcome": "passed", "duration": 0.0004998900000146023}, "setup": {"outcome": "passed", "duration": 0.00030151099997510755}, "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.00018316000000595523}}, {"call": {"outcome": "passed", "duration": 0.0019573810000110825}, "setup": {"outcome": "passed", "duration": 0.0003140540000003966}, "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.00018035599998711405}}, {"call": {"outcome": "passed", "duration": 0.0003971789999468456}, "setup": {"outcome": "passed", "duration": 0.0003004289999921639}, "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.00018132700000705881}}, {"call": {"outcome": "passed", "duration": 0.0004970039999534492}, "setup": {"outcome": "passed", "duration": 0.0004591539999978522}, "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.00017552600002090912}}, {"call": {"outcome": "passed", "duration": 0.0029336970000031215}, "setup": {"outcome": "passed", "duration": 0.0002935360000151377}, "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.00018709800002625343}}, {"call": {"outcome": "passed", "duration": 0.022915043000011792}, "setup": {"outcome": "passed", "duration": 0.0003288120000206618}, "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.00018932199998289434}}, {"call": {"outcome": "passed", "duration": 0.033184445000017604}, "setup": {"outcome": "passed", "duration": 0.0003198050000037256}, "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.0001874390000011772}}, {"call": {"outcome": "passed", "duration": 1.2409479250000004}, "setup": {"outcome": "passed", "duration": 0.0003034250000268912}, "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.00021724399999811794}}, {"call": {"outcome": "passed", "duration": 0.011006722999979957}, "setup": {"outcome": "passed", "duration": 0.0003153769999926226}, "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.0002933749999556312}}, {"call": {"outcome": "passed", "duration": 0.06480724499999724}, "setup": {"outcome": "passed", "duration": 0.0003854670000009719}, "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.00020174600001610088}}, {"call": {"outcome": "passed", "duration": 0.05453278400000272}, "setup": {"outcome": "passed", "duration": 0.00032676799997943817}, "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.00019185700000434736}}, {"call": {"outcome": "passed", "duration": 0.06408983000000035}, "setup": {"outcome": "passed", "duration": 0.00030741199998374213}, "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.00021074199997883625}}, {"call": {"outcome": "passed", "duration": 0.06405633800000032}, "setup": {"outcome": "passed", "duration": 0.0003039249999687854}, "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.00019287899999653746}}, {"call": {"outcome": "passed", "duration": 0.0007405780000340201}, "setup": {"outcome": "passed", "duration": 0.00032133799999201074}, "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.0001836110000112967}}, {"call": {"outcome": "passed", "duration": 0.0067293269999595395}, "setup": {"outcome": "passed", "duration": 0.0003150360000176988}, "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.0001893819999736479}}, {"call": {"outcome": "passed", "duration": 0.000853587999984029}, "setup": {"outcome": "passed", "duration": 0.00031621799996628397}, "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.0001881499999853986}}, {"call": {"outcome": "passed", "duration": 0.001133127000002787}, "setup": {"outcome": "passed", "duration": 0.0012229339999976219}, "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.0001820589999965705}}, {"call": {"outcome": "passed", "duration": 0.0007044399999927009}, "setup": {"outcome": "passed", "duration": 0.0003508330000272508}, "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.0001817780000124003}}, {"call": {"outcome": "passed", "duration": 0.018849790999979632}, "setup": {"outcome": "passed", "duration": 1.0398691040000472}, "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.0002647720000368281}}, {"call": {"outcome": "passed", "duration": 0.004104054000038104}, "setup": {"outcome": "passed", "duration": 0.13661836799997218}, "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.00027899899998828914}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000987577000046258, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003974890000222331}, "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.00018074600001227736}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009663970000133304, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033900099998618316}, "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.00017879300003187382}}, {"call": {"outcome": "passed", "duration": 0.015561164000018834}, "setup": {"outcome": "passed", "duration": 0.1361073969999893}, "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.0002706129999978657}}, {"call": {"outcome": "passed", "duration": 2.0964195429999677}, "setup": {"outcome": "passed", "duration": 0.0005553429999736181}, "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.0003121199999895907}}, {"call": {"outcome": "passed", "duration": 1.0281955319999838}, "setup": {"outcome": "passed", "duration": 0.13795800299999428}, "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.0002824260000124923}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009610779999889019, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041305799999236115}, "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.00018474399996648572}}, {"call": {"outcome": "passed", "duration": 0.10499668800002837}, "setup": {"outcome": "passed", "duration": 0.0003681349999737904}, "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.00019143600002280436}}, {"call": {"outcome": "passed", "duration": 0.0007598430000257395}, "setup": {"outcome": "passed", "duration": 0.00031825199999957476}, "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.00018338099999937185}}, {"call": {"outcome": "passed", "duration": 0.20002338000000464}, "setup": {"outcome": "passed", "duration": 0.0011864169999853402}, "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.00028052199996864147}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009682209999937186, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0013561729999764793}, "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.00022622000000183107}}, {"call": {"outcome": "passed", "duration": 0.0004710059999979421}, "setup": {"outcome": "passed", "duration": 0.13496685000001207}, "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.0002799600000003011}}, {"call": {"outcome": "passed", "duration": 0.1429084530000182}, "setup": {"outcome": "passed", "duration": 0.0005650310000078207}, "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.0003306549999706476}}, {"call": {"outcome": "passed", "duration": 0.06759014400000751}, "setup": {"outcome": "passed", "duration": 0.00034317900002633905}, "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.00019466200001261313}}, {"call": {"outcome": "passed", "duration": 0.6518036169999846}, "setup": {"outcome": "passed", "duration": 0.0005273809999835066}, "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.0002777459999947496}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002314275000003363, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003463649999844165}, "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.00021151300001065465}}, {"call": {"outcome": "passed", "duration": 0.017418712999983654}, "setup": {"outcome": "passed", "duration": 0.0003466350000280727}, "lineno": 807, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_exception_reading_newer_npz", "outcome": "passed", "keywords": ["test_exception_reading_newer_npz", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000189762999980303}}, {"call": {"outcome": "passed", "duration": 0.0008134329999620604}, "setup": {"outcome": "passed", "duration": 0.000320226000042112}, "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.0001829809999662757}}, {"call": {"outcome": "passed", "duration": 0.035297420999995666}, "setup": {"outcome": "passed", "duration": 0.13155340800000204}, "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.00030418599999393336}}, {"call": {"outcome": "passed", "duration": 0.01645632200001046}, "setup": {"outcome": "passed", "duration": 0.12706699400001753}, "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.0002959409999903073}}, {"call": {"outcome": "passed", "duration": 0.001953232999994725}, "setup": {"outcome": "passed", "duration": 0.001645339999981843}, "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.0005308379999746649}}, {"call": {"outcome": "passed", "duration": 0.1149496130000216}, "setup": {"outcome": "passed", "duration": 0.0004061850000312006}, "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.00019819899995354717}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022635509999986425, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003225600000291706}, "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.00019440099998746518}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020110609999619555, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003057389999980842}, "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.00021636299999272524}}, {"call": {"outcome": "passed", "duration": 0.006018325000013647}, "setup": {"outcome": "passed", "duration": 0.001715711000031206}, "lineno": 75, "nodeid": "signal/tests/test_tf_misfit.py::TestTf::test_phase_misfit", "outcome": "passed", "keywords": ["test_phase_misfit", "filterwarnings", "TestTf", "test_tf_misfit.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019139599999107304}}, {"call": {"outcome": "passed", "duration": 0.005894454999975096}, "setup": {"outcome": "passed", "duration": 0.00036012000003893263}, "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.0002101609999840548}}, {"call": {"outcome": "passed", "duration": 0.004704000999993241}, "setup": {"outcome": "passed", "duration": 0.0003108880000013414}, "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.00023834300003500175}}, {"call": {"outcome": "passed", "duration": 0.4112568029999579}, "setup": {"outcome": "passed", "duration": 0.0009995089999961237}, "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.0002821139999582556}}, {"call": {"outcome": "passed", "duration": 1.0288952129999984}, "setup": {"outcome": "passed", "duration": 0.0005279220000034002}, "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.0003370370000084222}}, {"call": {"outcome": "passed", "duration": 1.2365124789999982}, "setup": {"outcome": "passed", "duration": 0.0005826240000033067}, "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.00047759799997493246}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002348437999955877, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004720879999808858}, "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.00020413999999391308}}, {"call": {"outcome": "passed", "duration": 0.05783928599998944}, "setup": {"outcome": "passed", "duration": 0.0003001080000331058}, "lineno": 42, "nodeid": "signal/tests/test_trace.py::TestTrace::test_filter", "outcome": "passed", "keywords": ["test_filter", "filterwarnings", "TestTrace", "test_trace.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002128360000028806}}, {"call": {"outcome": "passed", "duration": 0.010569461999978103}, "setup": {"outcome": "passed", "duration": 0.0003035249999925327}, "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.00019307900004150724}}, {"call": {"outcome": "passed", "duration": 0.0005335419999710211}, "setup": {"outcome": "passed", "duration": 0.0025876740000398968}, "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.00020512200001121528}}, {"call": {"outcome": "passed", "duration": 0.07605861700000105}, "setup": {"outcome": "passed", "duration": 0.00032176900003833}, "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.00018647699999974066}}, {"call": {"outcome": "passed", "duration": 0.00029015000001209046}, "setup": {"outcome": "passed", "duration": 0.00034679500004131114}, "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.0001772800000026109}}, {"call": {"outcome": "passed", "duration": 0.11215520500002185}, "setup": {"outcome": "passed", "duration": 0.0010468270000387747}, "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.00020086300003185897}}, {"call": {"outcome": "passed", "duration": 0.11549183199997515}, "setup": {"outcome": "passed", "duration": 0.00036129199997958494}, "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.00018604600001026483}}, {"call": {"outcome": "passed", "duration": 0.00031820200001675403}, "setup": {"outcome": "passed", "duration": 0.0003249050000135867}, "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.0001794639999843639}}, {"call": {"outcome": "passed", "duration": 0.00028761499999063744}, "setup": {"outcome": "passed", "duration": 0.00032918199997311604}, "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.00017237999998087616}}, {"call": {"outcome": "passed", "duration": 0.0033750879999843164}, "setup": {"outcome": "passed", "duration": 0.000309536000031585}, "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.00018001500001219028}}, {"call": {"outcome": "passed", "duration": 0.037944865999975264}, "setup": {"outcome": "passed", "duration": 0.00037472799999704876}, "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.00022309499996708837}}, {"call": {"outcome": "passed", "duration": 0.03907380800001192}, "setup": {"outcome": "passed", "duration": 0.0004779289999987668}, "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.00022484900000563357}}, {"call": {"outcome": "passed", "duration": 0.0036921129999996083}, "setup": {"outcome": "passed", "duration": 0.0004955219999942528}, "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.00022636099998862846}}, {"call": {"outcome": "passed", "duration": 0.0006788729999698262}, "setup": {"outcome": "passed", "duration": 0.0004253810000136582}, "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.0002551050000079158}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014550490000146965, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004891300000053889}, "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.00026731700000937053}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001914123999995354, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000496924999993098}, "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.00022927700001673657}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017342179999673135, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004840320000312204}, "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.00022980700003927268}}, {"call": {"outcome": "passed", "duration": 0.0018172229999890988}, "setup": {"outcome": "passed", "duration": 0.000421383999992031}, "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.00026634599998942576}}, {"call": {"outcome": "passed", "duration": 0.00044558900003721646}, "setup": {"outcome": "passed", "duration": 0.0006123400000319634}, "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.0002569079999830137}}, {"call": {"outcome": "passed", "duration": 0.000427836000028492}, "setup": {"outcome": "passed", "duration": 0.0005698800000004667}, "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.00023763300004020493}}, {"call": {"outcome": "passed", "duration": 0.00034370999998145635}, "setup": {"outcome": "passed", "duration": 0.0004416319999904772}, "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.0002005939999776274}}, {"call": {"outcome": "passed", "duration": 0.00032031599999982063}, "setup": {"outcome": "passed", "duration": 0.0004670189999842478}, "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.000202347000026748}}, {"call": {"outcome": "passed", "duration": 0.00034961100004693435}, "setup": {"outcome": "passed", "duration": 0.0003420360000063738}, "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.00018711799998527567}}, {"call": {"outcome": "passed", "duration": 0.0003570949999698314}, "setup": {"outcome": "passed", "duration": 0.00043225400003166214}, "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.00019967200000792218}}, {"call": {"outcome": "passed", "duration": 0.00032486399999243076}, "setup": {"outcome": "passed", "duration": 0.00045605900004375144}, "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.00020019199996568204}}, {"call": {"outcome": "passed", "duration": 0.00043127200001435995}, "setup": {"outcome": "passed", "duration": 0.00044938700000329845}, "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.00021945899999309404}}, {"call": {"outcome": "passed", "duration": 0.00034465200002387064}, "setup": {"outcome": "passed", "duration": 0.00042712600003369516}, "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.0001949419999505153}}, {"call": {"outcome": "passed", "duration": 0.0003232509999975264}, "setup": {"outcome": "passed", "duration": 0.00043940799997699287}, "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.0001997510000251168}}, {"call": {"outcome": "passed", "duration": 0.0005750400000010814}, "setup": {"outcome": "passed", "duration": 0.00044893500000853237}, "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.00020124499997109524}}, {"call": {"outcome": "passed", "duration": 0.0005550230000039846}, "setup": {"outcome": "passed", "duration": 0.00047185800002580436}, "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.00019914099999596147}}, {"call": {"outcome": "passed", "duration": 0.0005484910000177479}, "setup": {"outcome": "passed", "duration": 0.00042371899996851425}, "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.00021435899998323293}}, {"call": {"outcome": "passed", "duration": 0.00046488600003158354}, "setup": {"outcome": "passed", "duration": 0.0004259229999661329}, "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.00019334000000981177}}, {"call": {"outcome": "passed", "duration": 0.00048212699999794495}, "setup": {"outcome": "passed", "duration": 0.00042333899995128377}, "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.0001943020000112483}}, {"call": {"outcome": "passed", "duration": 0.00047733799999605253}, "setup": {"outcome": "passed", "duration": 0.00042527199997266507}, "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.00019782800001166834}}, {"call": {"outcome": "passed", "duration": 0.0003326089999973192}, "setup": {"outcome": "passed", "duration": 0.00044763300002159667}, "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.0002203910000275755}}, {"call": {"outcome": "passed", "duration": 0.0003260359999899265}, "setup": {"outcome": "passed", "duration": 0.00042578300002560354}, "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.00019449199999144184}}, {"call": {"outcome": "passed", "duration": 0.00033691700002691505}, "setup": {"outcome": "passed", "duration": 0.00042726599997422454}, "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.00019561400000611684}}, {"call": {"outcome": "passed", "duration": 0.00032126799999332434}, "setup": {"outcome": "passed", "duration": 0.0004658980000158408}, "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.00021700399997826025}}, {"call": {"outcome": "passed", "duration": 0.00040778900000759677}, "setup": {"outcome": "passed", "duration": 0.0003446019999842065}, "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.00018537400001150672}}, {"call": {"outcome": "passed", "duration": 0.000352586000019528}, "setup": {"outcome": "passed", "duration": 0.00043225400003166214}, "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.00019572499996911574}}, {"call": {"outcome": "passed", "duration": 0.0003283110000324996}, "setup": {"outcome": "passed", "duration": 0.00045019800001000476}, "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.00021746400000210997}}, {"call": {"outcome": "passed", "duration": 0.0003313060000209589}, "setup": {"outcome": "passed", "duration": 0.00042947899999035144}, "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.0001970370000208277}}, {"call": {"outcome": "passed", "duration": 0.0003571249999936299}, "setup": {"outcome": "passed", "duration": 0.0004283380000060788}, "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.00019477200004303086}}, {"call": {"outcome": "passed", "duration": 0.0003254659999925025}, "setup": {"outcome": "passed", "duration": 0.00044727199997396383}, "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.00021558200000981742}}, {"call": {"outcome": "passed", "duration": 0.0002579900000228008}, "setup": {"outcome": "passed", "duration": 0.0004976769999984754}, "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.00027130499995564605}}, {"call": {"outcome": "passed", "duration": 0.000260735000040313}, "setup": {"outcome": "passed", "duration": 0.0004300699999930657}, "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.00019448200004035243}}, {"call": {"outcome": "passed", "duration": 0.00024210100002619583}, "setup": {"outcome": "passed", "duration": 0.0004692429999977321}, "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.00022495799998978327}}, {"call": {"outcome": "passed", "duration": 0.00027527200001031815}, "setup": {"outcome": "passed", "duration": 0.00043349699996042546}, "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.00019310900000846232}}, {"call": {"outcome": "passed", "duration": 0.00023865399998612702}, "setup": {"outcome": "passed", "duration": 0.00044794299998329734}, "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.0002097399999456684}}, {"call": {"outcome": "passed", "duration": 0.00024384400001054019}, "setup": {"outcome": "passed", "duration": 0.0004194310000116275}, "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.0002625989999955891}}, {"call": {"outcome": "passed", "duration": 0.0033681599999795253}, "setup": {"outcome": "passed", "duration": 0.0004288989999849946}, "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.0001746050000406285}}, {"call": {"outcome": "passed", "duration": 0.0031750709999869287}, "setup": {"outcome": "passed", "duration": 0.0003383490000032907}, "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.0001750659999970594}}, {"call": {"outcome": "failed", "duration": 0.6025918430000274, "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.11/doctest.py\", line 1355, 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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/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.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/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.11/site-packages/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.11/site-packages/obspy/signal/tf_misfit.py:1438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003166090000377153}, "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.00018878100001984421}}, {"call": {"outcome": "passed", "duration": 0.009870675000001938}, "setup": {"outcome": "passed", "duration": 0.00042958000000226093}, "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.00016881400000556823}}, {"call": {"outcome": "passed", "duration": 0.0025431049999724564}, "setup": {"outcome": "passed", "duration": 0.00030571900003906194}, "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.00016834399997378569}}, {"call": {"outcome": "passed", "duration": 0.0025345480000282805}, "setup": {"outcome": "passed", "duration": 0.0003274399999781963}, "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.0001698659999647134}}, {"call": {"outcome": "passed", "duration": 0.0026281519999997727}, "setup": {"outcome": "passed", "duration": 0.00031747100001666695}, "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.0001998220000132278}}, {"call": {"outcome": "passed", "duration": 0.0025809249999610984}, "setup": {"outcome": "passed", "duration": 0.0003040560000044934}, "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.00018509400001676113}}, {"call": {"outcome": "passed", "duration": 3.6337412780000022}, "setup": {"outcome": "passed", "duration": 0.0006603589999940596}, "lineno": 1, "nodeid": "taup/__init__.py::obspy.taup", "outcome": "passed", "keywords": ["obspy.taup", "filterwarnings", "__init__.py", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023678999997400751}}, {"call": {"outcome": "passed", "duration": 0.8374980099999902}, "setup": {"outcome": "passed", "duration": 0.0004736019999995733}, "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.00020445099994503835}}, {"call": {"outcome": "passed", "duration": 0.5523168450000071}, "setup": {"outcome": "passed", "duration": 0.00035836699998981203}, "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.00023316400000794602}}, {"call": {"outcome": "passed", "duration": 0.03922380700004169}, "setup": {"outcome": "passed", "duration": 0.0003913689999990311}, "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.00019685600000229897}}, {"call": {"outcome": "passed", "duration": 0.0006551399999921159}, "setup": {"outcome": "passed", "duration": 0.0007098410000025979}, "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.00017719999999599167}}, {"call": {"outcome": "passed", "duration": 1.2298581679999643}, "setup": {"outcome": "passed", "duration": 0.00040766900002608963}, "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.00022778300001391472}}, {"call": {"outcome": "passed", "duration": 0.06159937099999979}, "setup": {"outcome": "passed", "duration": 0.0003343320000226413}, "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.00023095000000239452}}, {"call": {"outcome": "passed", "duration": 3.845197041000006}, "setup": {"outcome": "passed", "duration": 0.025147761000027913}, "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.00022116200000255049}}, {"call": {"outcome": "passed", "duration": 0.37920222299999296}, "setup": {"outcome": "passed", "duration": 0.000359970000033627}, "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.000190403999965838}}, {"call": {"outcome": "passed", "duration": 1.6315637719999927}, "setup": {"outcome": "passed", "duration": 0.0007577799999580748}, "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.00023420600001600178}}, {"call": {"outcome": "passed", "duration": 0.05506886500000974}, "setup": {"outcome": "passed", "duration": 0.00036576100001184386}, "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.0002084369999693081}}, {"call": {"outcome": "passed", "duration": 0.0013759399999457855}, "setup": {"outcome": "passed", "duration": 0.00032155799999600276}, "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.0003005889999485589}}, {"call": {"outcome": "passed", "duration": 0.00027909900001077403}, "setup": {"outcome": "passed", "duration": 0.0004370530000414874}, "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.0001819279999608625}}, {"call": {"outcome": "passed", "duration": 0.0004276359999835222}, "setup": {"outcome": "passed", "duration": 0.0002963910000062242}, "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.00018918200004236496}}, {"call": {"outcome": "passed", "duration": 0.041879719000007753}, "setup": {"outcome": "passed", "duration": 0.0004365720000123474}, "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.00019548399995983345}}, {"call": {"outcome": "passed", "duration": 0.025524733999986893}, "setup": {"outcome": "passed", "duration": 0.000426513000036266}, "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.00019205800003874174}}, {"call": {"outcome": "passed", "duration": 0.02586411500004715}, "setup": {"outcome": "passed", "duration": 0.000316789000009976}, "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.00021563100000321356}}, {"call": {"outcome": "passed", "duration": 0.025583122999989882}, "setup": {"outcome": "passed", "duration": 0.0003059289999782777}, "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.00019017400001075657}}, {"call": {"outcome": "passed", "duration": 0.07620262000000366}, "setup": {"outcome": "passed", "duration": 0.0007222939999564915}, "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.00021377799998845148}}, {"call": {"outcome": "passed", "duration": 0.07708767700000863}, "setup": {"outcome": "passed", "duration": 0.0004067869999744289}, "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.00021637300000065807}}, {"call": {"outcome": "passed", "duration": 0.0711938430000032}, "setup": {"outcome": "passed", "duration": 0.00042016099996544654}, "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.00021373700002413898}}, {"call": {"outcome": "passed", "duration": 0.07515743599998359}, "setup": {"outcome": "passed", "duration": 0.000405553999996755}, "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.00021501999998463361}}, {"call": {"outcome": "passed", "duration": 0.06886219500000834}, "setup": {"outcome": "passed", "duration": 0.0004271450000032928}, "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.0002211709999642153}}, {"call": {"outcome": "passed", "duration": 0.6773186010000245}, "setup": {"outcome": "passed", "duration": 0.00040366100000710503}, "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.00021774500004312358}}, {"call": {"outcome": "passed", "duration": 0.6875735790000022}, "setup": {"outcome": "passed", "duration": 0.0004330750000463013}, "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.00025571599996965233}}, {"call": {"outcome": "passed", "duration": 0.03030928399999766}, "setup": {"outcome": "passed", "duration": 0.00040444199999001285}, "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.00019186699995543677}}, {"call": {"outcome": "passed", "duration": 0.03129312500004744}, "setup": {"outcome": "passed", "duration": 0.000360680999961005}, "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.00019226799997795752}}, {"call": {"outcome": "passed", "duration": 0.030516190000014376}, "setup": {"outcome": "passed", "duration": 0.00034128499999042106}, "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.0001903349999565762}}, {"call": {"outcome": "passed", "duration": 1.7352574510000522}, "setup": {"outcome": "passed", "duration": 0.0003361560000030295}, "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.00021326600000293183}}, {"call": {"outcome": "passed", "duration": 0.42144455499999367}, "setup": {"outcome": "passed", "duration": 0.00038198099997543977}, "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.00021871799998507413}}, {"call": {"outcome": "passed", "duration": 0.08645092099999374}, "setup": {"outcome": "passed", "duration": 0.0003099360000078377}, "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.00019576500000084707}}, {"call": {"outcome": "passed", "duration": 0.03419349199998578}, "setup": {"outcome": "passed", "duration": 0.0003416060000063226}, "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.0002499349999993683}}, {"call": {"outcome": "passed", "duration": 0.040394429000002674}, "setup": {"outcome": "passed", "duration": 0.0003625340000326105}, "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.00021495999999388005}}, {"call": {"outcome": "passed", "duration": 0.034433499000044776}, "setup": {"outcome": "passed", "duration": 0.0003369270000348479}, "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.0001938700000323479}}, {"call": {"outcome": "passed", "duration": 0.034607012999970266}, "setup": {"outcome": "passed", "duration": 0.00033618599996998455}, "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.0001950320000219108}}, {"call": {"outcome": "passed", "duration": 0.9474831150000114}, "setup": {"outcome": "passed", "duration": 0.0003378580000230613}, "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.00021499999996876795}}, {"call": {"outcome": "passed", "duration": 0.8971604859999616}, "setup": {"outcome": "passed", "duration": 0.0003836139999862098}, "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.00024217099996803881}}, {"call": {"outcome": "passed", "duration": 0.48381738200004065}, "setup": {"outcome": "passed", "duration": 0.0004344179999975495}, "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.00019846899999720335}}, {"call": {"outcome": "passed", "duration": 0.4969945959999791}, "setup": {"outcome": "passed", "duration": 0.0003686659999857511}, "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.00019799800003283963}}, {"call": {"outcome": "passed", "duration": 0.8038171819999889}, "setup": {"outcome": "passed", "duration": 0.0003515649999599191}, "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.00022559000001365348}}, {"call": {"outcome": "passed", "duration": 0.9454714720000084}, "setup": {"outcome": "passed", "duration": 0.0003519640000035906}, "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.0001989799999932984}}, {"call": {"outcome": "passed", "duration": 0.3859832240000287}, "setup": {"outcome": "passed", "duration": 0.00034493100002919164}, "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.00018759900001441565}}, {"call": {"outcome": "passed", "duration": 0.45537295500002983}, "setup": {"outcome": "passed", "duration": 0.00033552499996858387}, "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.00019934099998408783}}, {"call": {"outcome": "passed", "duration": 0.16384563399998342}, "setup": {"outcome": "passed", "duration": 0.0003474259999620699}, "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.00021063200000526194}}, {"call": {"outcome": "passed", "duration": 0.8953679509999688}, "setup": {"outcome": "passed", "duration": 0.0003371569999899293}, "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.00020852800003012817}}, {"call": {"outcome": "passed", "duration": 0.061078157999986615}, "setup": {"outcome": "passed", "duration": 0.0003565240000398262}, "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.0001970069999970292}}, {"call": {"outcome": "passed", "duration": 0.04902579700001297}, "setup": {"outcome": "passed", "duration": 0.0003374980000216965}, "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.0001924680000229273}}, {"call": {"outcome": "passed", "duration": 0.32935059999999794}, "setup": {"outcome": "passed", "duration": 0.00032363200000418146}, "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.0002148399999555295}}, {"call": {"outcome": "passed", "duration": 0.02760515300002453}, "setup": {"outcome": "passed", "duration": 0.00031466500001897657}, "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.00020922900000641675}}, {"call": {"outcome": "passed", "duration": 0.027056421999986924}, "setup": {"outcome": "passed", "duration": 0.00030586900004436757}, "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.0001900139999975181}}, {"call": {"outcome": "passed", "duration": 3.982693177999977}, "setup": {"outcome": "passed", "duration": 0.0007014349999963088}, "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.00023552799996195972}}, {"call": {"outcome": "passed", "duration": 0.8957150559999718}, "setup": {"outcome": "passed", "duration": 0.00041319899997915854}, "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.0002730680000126995}}, {"call": {"outcome": "passed", "duration": 1.0330333030000247}, "setup": {"outcome": "passed", "duration": 0.0004173970000351801}, "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.0003567029999658189}}, {"call": {"outcome": "passed", "duration": 0.9985320989999877}, "setup": {"outcome": "passed", "duration": 0.012412264000033701}, "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.0002287959999875966}}, {"call": {"outcome": "passed", "duration": 0.0466269649999731}, "setup": {"outcome": "passed", "duration": 0.0004164239999795427}, "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.00023774199996751122}}, {"call": {"outcome": "passed", "duration": 0.0004208530000369137}, "setup": {"outcome": "passed", "duration": 0.000340834000041923}, "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.00023311399996828186}}, {"call": {"outcome": "passed", "duration": 0.00039142899998978464}, "setup": {"outcome": "passed", "duration": 0.00029701299996531816}, "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.0001782620000199131}}, {"call": {"outcome": "passed", "duration": 0.0003838839999730226}, "setup": {"outcome": "passed", "duration": 0.00029397700001254634}, "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.0001780519999670105}}, {"call": {"outcome": "passed", "duration": 0.000384305000011409}, "setup": {"outcome": "passed", "duration": 0.0003080729999851428}, "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.00017582700002094498}}, {"call": {"outcome": "passed", "duration": 0.0011439790000054018}, "setup": {"outcome": "passed", "duration": 0.00029239499997402163}, "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.00018597599995473502}}, {"call": {"outcome": "passed", "duration": 1.2668179570000007}, "setup": {"outcome": "passed", "duration": 0.012381417000028705}, "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.00048275800003239056}}, {"call": {"outcome": "passed", "duration": 1.0788324690000195}, "setup": {"outcome": "passed", "duration": 0.000570280999966144}, "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.00034020199996120937}}, {"call": {"outcome": "passed", "duration": 1.2021910170000183}, "setup": {"outcome": "passed", "duration": 0.0005668539999987843}, "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.0003176010000061069}}, {"call": {"outcome": "passed", "duration": 0.3020270139999752}, "setup": {"outcome": "passed", "duration": 0.0005557740000199374}, "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.0003146449999462675}}, {"call": {"outcome": "passed", "duration": 0.2085177490000092}, "setup": {"outcome": "passed", "duration": 0.0005475190000083785}, "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.0003428179999787062}}, {"call": {"outcome": "passed", "duration": 0.7201606430000425}, "setup": {"outcome": "passed", "duration": 0.0005924719999939043}, "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.0003408739999599675}}, {"call": {"outcome": "passed", "duration": 0.6192945720000012}, "setup": {"outcome": "passed", "duration": 0.0005686980000518815}, "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.0003445410000040283}}, {"call": {"outcome": "passed", "duration": 0.6913519370000358}, "setup": {"outcome": "passed", "duration": 0.0005768629999920449}, "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.00032752900000332374}}, {"call": {"outcome": "passed", "duration": 0.6958593230000361}, "setup": {"outcome": "passed", "duration": 0.0005657219999761764}, "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.0003388300000324307}}, {"call": {"outcome": "passed", "duration": 0.42100799699994695}, "setup": {"outcome": "passed", "duration": 0.0005696899999634297}, "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.00031965499999841995}}, {"call": {"outcome": "passed", "duration": 0.46656076400000757}, "setup": {"outcome": "passed", "duration": 0.0005540599999562801}, "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.00032349200000680867}}, {"call": {"outcome": "passed", "duration": 0.2849379809999846}, "setup": {"outcome": "passed", "duration": 0.0005662529999881372}, "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.00034971999997424064}}, {"call": {"outcome": "passed", "duration": 0.29241857800002435}, "setup": {"outcome": "passed", "duration": 0.000578625999992255}, "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.0002963210000075378}}, {"call": {"outcome": "passed", "duration": 0.07533860099999856}, "setup": {"outcome": "passed", "duration": 0.0004179379999982302}, "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.00019657600000755338}}, {"call": {"outcome": "passed", "duration": 0.04131812899998977}, "setup": {"outcome": "passed", "duration": 0.0003387600000337443}, "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.00023890400001391754}}, {"call": {"outcome": "passed", "duration": 0.0057531830000243644}, "setup": {"outcome": "passed", "duration": 0.0008146959999635328}, "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.1110701950000248}}], "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": 1772629956.2327583, "summary": {"error": 13, "total": 2327, "failed": 609, "passed": 1685, "skipped": 20, "collected": 2443, "deselected": 116}, "duration": 148.7016248703003, "exitcode": 1, "warnings": [{"when": "runtest", "lineno": 395, "message": "Attempting to set identical low and high ylims makes transformation singular; automatically expanding.", "category": "UserWarning", "filename": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/scripts/scan.py"}, {"when": "collect", "lineno": 15, "message": "`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.", "category": "DeprecationWarning", "filename": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/polarization.py"}], "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": "passed"}, {"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": "passed"}, {"nodeid": "signal/tests/test_polarization.py::TestPolarization", "result": [{"type": "Function", "lineno": 67, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization"}, {"type": "Function", "lineno": 104, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization_1d"}, {"type": "Function", "lineno": 116, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization_pm"}, {"type": "Function", "lineno": 147, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization_flinn"}, {"type": "Function", "lineno": 173, "nodeid": "signal/tests/test_polarization.py::TestPolarization::test_polarization_vidale"}], "outcome": "passed"}, {"nodeid": "signal/tests/test_polarization.py", "result": [{"type": "Class", "nodeid": "signal/tests/test_polarization.py::TestPolarization"}], "outcome": "passed"}, {"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.11.14", "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"}